Added alternative version of PSV persistence
Chnaged how we save and load PSV-style objects

Now, these objects need only a save and load method which returns a list
of their fields (all strings) and takes in a list of strings, converting
and setting members as necessary.

These both use the self.fields attribute which is a list of tuples. This
does away with error-prone custome methods that we were using. It
hopefully makes fields and types incredibly clear as well.