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)
its baked into the implementation, the dex/metadex read/write handlers are supposed to be combined, mainly due to the similarities, also at @m21's preference.