Make IsotonicRegression pickleable

fixes https://github.com/scikit-learn/scikit-learn/issues/3666

implements ``__getstate__`` and ``__setstate__`` by removing the interpolation function and rebuilding it.

cc @amueller @jnothman 
Dense question: why not just `self.__dict__ = state`