Dataframe.to_csv treats decimal.Decimal as string instead of numeric type and the 'decimal' sign parameter has no effect
#### Code Sample

(float output is prepared for the sake of comparison to Decimal)

```python
# ----------------------------------
### imports

import pandas as pd
import decimal as dc

# ----------------------------------
### definitions

value_str = '2.445'

# ----------------------------------
### instantiations

#df_float = pd.DataFrame(data=[float(value_str)])
df_decimal = pd.DataFrame(data=[dc.Decimal(value_str)])

# ----------------------------------
### exports

# csv
#df_float.to_csv('float' + '.csv', sep=';', decimal=',')
df_decimal.to_csv('decimal' + '.csv', sep=';', decimal=',')

```
#### Observed Output
;0
0;2.445

#### Expected Output
;0
0;2,445

#### Problem description

Since Decimal represents a numeric type, one would expect that it gets treated as such and 'decimal' character replacement is applied, just like with floats.

Float values are converted to string followed by replacement of the default decimal sign '.' by the 'decimal' function parameter value ','.

Decimals are just treated as text, the replacement does not take place.


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

<details>

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

pandas: 0.24.2
pytest: None
pip: 10.0.1
setuptools: 39.1.0
Cython: None
numpy: 1.16.2
scipy: None
pyarrow: None
xarray: None
IPython: None
sphinx: None
patsy: None
dateutil: 2.7.2
pytz: 2018.4
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: None
openpyxl: 2.6.2
xlrd: None
xlwt: None
xlsxwriter: None
lxml.etree: None
bs4: None
html5lib: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: None
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: None
None

</details>
