Add check_finite flag to UnivariateSpline

closes gh-3531

At present, UnivariateSpline(x, y) will not do anything useful if the input arrays contain nans or infs: the underlying FITPACK tries to converge the smoothing conditions, and finally returns nans for the spline coefficients. 

This PR adds:

* a boolean `check_finite` flag to check input arrays, so that invalid input fails early and loudly. 
* A docstring example (due to @juliantaylor) of using the weights parameter to mask away nan values. 

I'm a bit conflicted on the default value for the `check_finite` flag. Consistency with `linalg` and common sense call for the default being to check,  but backwards compatibility calls for the default being `check_finite=False`. 

As this is probably rather small usability tweak, it's not worth introducing a compatibility issue, so I'm setting the default to False. 

Usually I've seen this as `x = np.asarray_chkfinite(x)` but I don't know how standard this is.