Add persistence md

Adds persistence

lots to discuss... I'm not 100% sure the way i made get_prices and get_indexes available to mastercore.cpp is the best way (using mastercore::)

i reused some of the dex variable names (but added comments on how metadex uses them)

Most loading/saving logic came from mastercore_dex.cpp, cleaned up a little

no way to set the action, so added another method to do it (setAction)
the commit hash iirc is just the sha256'ed contents of the file, so you couldn't give any guarantees about accuracy version-to-version. 

ie. if a new format is introduced the hash changes while having similar content. But you could work around this various other ways