Make to_numeric default to correct precision
- [x] closes #31364
- [x] tests added / passed
  - tools/test_to_numeric.py:test_precision
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

This relates to a very old issue #8002 where the default precision for CSV files could create wrong answers in the last bit.  @jreback was involved in the PR review for that, which created the default to not be the high precision parser.

For `to_numeric()`, I switched it to use `precise_xstrtod` instead of `xstrtod`  by default.

Unknown whether there are performance implications for `to_numeric()`, although this comment https://github.com/pandas-dev/pandas/issues/17154#issuecomment-319917647 from @jorisvandenbossche indicates that maybe we should consider switching to the higher precision parser by default in `read_csv()` anyway. 

Open question as to whether performance analysis of *this* PR is needed beyond what is shown below, which seems to indicate that using `precise_xstrtod` is *faster* than `xstrtod` 

The other possibility is to use a keyword argument in `to_numeric` that would allow the higher precision parser.  