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. 

and this if clause is copy-pasted from asarray_chkfinite. I just noticed that there is no `asarray` for any of the inputs --- they are just fed directly to FITPACK five lines below. Most probably adding asarray in only one branch does not do any harm, but then who knows what these f2py wrappers do under the hood, they seem to be extremely touchy about their inputs and prone to summoning dragons and going all around wrong memory, so I thought I'd rather not touch them and keep feeding them exactly the same input as it was before. 

Basically, I've no idea why `asarray` is apparently never needed, so I thought I'd not use it. Can throw it in if there are strong opinions though.