Loadstore updates

I started out making this fancy so that we could do LoadStores as a child of CrossValidate (and thus we would need to store a model file with a name containing the partitions the training data consisted of) but then realized the CrossValidate itself must be trained, so we would need to use a model file anyway.  This basically made putting LoadStores inside CrossValidate useless, obviously, so now we have an amazing pull request adding one property to LoadStore for a user specified name.  I kept the original hash to maintain binary compatibility.

Solves #121.