Return 1-D ndarray from call to spline basis.

There is no need to return a 2-D ndarray with shape (len, 1) that
mimics a column vector as dot() will correctly transpose it if
needed.
Use list comprehension for call to spline basis.
Make copy of knots given to spline basis.
Fix copy of knots in spline basis.
Drop _dim data attribute in spline basis.
Rename spline classes to stress they are cubic.
Drop 4th derivative from spline call.

The 4th derivative is zero everywhere except at the various knots
where it is infinity.