Better way to make a solver with subset of data

Before it was a crazy mix of methods. Now, the subset method returns a
copy of the solver with only a subset of: data, positional, cached
Jacobian.