to_csv quoting is inconsistent
#### Code Sample, a copy-pastable example if possible

import tempfile
import csv
import pandas as pd
import numpy as np

data = {'col_1': {0: 3, 2: 2}, 'col_2': {0: 'a', 1: 'b'}}
df = pd.DataFrame.from_dict(data)
assert df['col_1'].dtype == np.dtype('float')

with tempfile.TemporaryFile("w+") as f:
    df.to_csv(f, quoting=csv.QUOTE_NONNUMERIC, index=False)
    f.seek(0)
    lines = f.read().splitlines()
    print (lines)
    assert lines[0] == '"col_1","col_2"'
    assert not lines[1].startswith('"') 
    assert not lines[2].startswith('"') # <- this fails for the NAN is turned into ""
    
#### Problem description

NaN values in a float column are quoted when using the option "quoting=csv.QUOTE_NONNUMERIC". This causes a "DtypeWarning: Columns have mixed types" warning when read in. 

#### Expected Output
A NaN value should only be quoted, in case the na_rep is a non-empty string.

#### Output of ``pd.show_versions()``

<details>


INSTALLED VERSIONS
------------------
commit: None
python: 3.6.5.final.0
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
byteorder: little
LC_ALL: None
LANG: es
LOCALE: None.None

pandas: 0.23.0
pytest: 3.5.1
pip: 18.1
setuptools: 39.1.0
Cython: 0.28.2
numpy: 1.14.3
scipy: 1.1.0
pyarrow: None
xarray: None
IPython: 6.4.0
sphinx: 1.7.4
patsy: 0.5.0
dateutil: 2.7.3
pytz: 2018.4
blosc: None
bottleneck: 1.2.1
tables: 3.4.3
numexpr: 2.6.5
feather: None
matplotlib: 2.2.2
openpyxl: 2.5.3
xlrd: 1.1.0
xlwt: 1.3.0
xlsxwriter: 1.0.4
lxml: 4.2.1
bs4: 4.6.0
html5lib: 1.0.1
sqlalchemy: 1.2.7
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None

</details>
