Interpolate(method='nearest') Can't Handle Only One Value
#### Code Sample, a copy-pastable example if possible

```python
import numpy as np
import pandas as pd

# This works
df = pd.DataFrame({'A': [1.0, np.nan, np.nan, 2.0]})
df.interpolate(method='nearest')

# This doesn't
df = pd.DataFrame({'A': [1.0, np.nan, np.nan, np.nan]})
df.interpolate(method='nearest')

```
#### Problem description

A `ValueError` exists when I run `.interpolate(method='nearest')` on a column with only one non-`NaN` value. The full error is: `ValueError: x and y arrays must have at least 2 entries`

#### Expected Output

When `method='nearest'` is passed to the interpolate method for a column with only one non-`NaN` value, I expect the returned dataframe to be filled with that value. In the second example above, I expect the returned dataframe to be filled with `1.0`s

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

<details>

[paste the output of ``pd.show_versions()`` here below this line]
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.5.final.0
python-bits: 64
OS: Linux
OS-release: 4.15.0-34-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_CA.UTF-8
LOCALE: en_CA.UTF-8

pandas: 0.23.4
pytest: None
pip: 18.0
setuptools: 39.2.0
Cython: 0.28.3
numpy: 1.15.1
scipy: 1.1.0
pyarrow: None
xarray: None
IPython: 6.5.0
sphinx: None
patsy: 0.5.0
dateutil: 2.7.3
pytz: 2018.3
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 2.2.3
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: 1.0.1
sqlalchemy: 1.2.7
pymysql: None
psycopg2: 2.7.4 (dt dec pq3 ext lo64)
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: 0.5.0
pandas_datareader: None


</details>
