Added code in valid_knots related to issue #19.  This fixes part of the problem.
Changed zero_tol in forward, also to help with issue #19.
Small refactor of gcv into separable components, related to issue #19.
Added possibility of pure linear terms based on gcv, in relation to issue #19
A few changes to the way linear dependence is handled. Fix for printing linear basis functions.