BUG: Fix csv.QUOTE_NONNUMERIC quoting in to_csv
Closes #12922: "bug" traced to #12194 via bisection, where the float formatting was unconditionally casting everything to string.

I say "bug" (with quotations) because the changes to `get_result_as_array` did **correctly** cast everything to string as per the documentation (i.e. it had inadvertently patched a bug itself even though it was just a cleaning PR).  However, the changes had overlooked the impact it would have on `to_csv`.

## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/13418?src=pr) is **84.23%**

> Merging [#13418](https://codecov.io/gh/pydata/pandas/pull/13418?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will decrease coverage by **0.04%**

``` diff
@@             master     #13418   diff @@
==========================================
  Files           138        138          
  Lines         50929      50813   -116   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
- Hits          42925      42803   -122   
- Misses         8004       8010     +6   
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last updated by [f752886...3f212e4](https://codecov.io/gh/pydata/pandas/compare/f7528866e07048f051f46f621ca76947730c7d32...3f212e4e4424cd3f96833860fa2c42d05078cd66)
 @jreback : Moved `engine` parameter removal into separate PR and removed the `_get_formatted_data` function and move its code in `to_native_types`.  Travis is still happy, so ready to merge if there are no other concerns.
 @jreback : Modified the relevant doc-strings and comments as requested.  Ready to merge if there are no other concerns.
 ty
