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)
I was actually wondering: could those persistence hashes be used to check whether a commit/build breaks history or consensus by comparing them at some specific height? Sort of what #143 is about?