fix issue #8000 - interpolation extrapolates over trailing missing values

This pull request is in response to [issue #8000](https://github.com/pydata/pandas/issues/8000).

Changes to core/common.py add np.nan as the default value for missing values to the left and right non-missing values during interpolation. This prevents DataFrame.interpolate() from extrapolating the last non-missing value over all trailing missing values (the default).

Changes to tests/test_generic.py add test coverage to the above change. A passing test is where an interpolated series with a trailing missing value maintains that trailing missing value after interpolation.