ENH: smolyak more efficient now

When evaluating the basis functions we were going all the way out to `n_points - 1` or `n_points - 2`. This isn't necessary. We simply need to go to `m_i(l)`. This should make the smolyak code much less memory hungry.

For example, when d=22, l=3, the object `Ts` had shape `(313, 12, 313)`. Now `Ts` only has shape `(6, 12, 313)`. Pretty big change, but definitely gives the same answer.

This will probably be obsolete when we finish with Smolyak.jl, but until then I figured this was a welcome boost in efficiency.