Implements a new struct called ClusteredData which allows a member of the cluster to take safely take ownership of a potentially large piece of data, update it and store it without fear of concurrent updates from another member overwriting changes. It will be used by the controller to store metadata for Tektite, e.g. the LSM metadata.
Also renames StateMachine to StateUpdator to avoid confusion.
Some small changes to level manager method names
Provide a buffer size calculation for master record so we efficiently allocated a buffer of the correct size when serializing.
This PR includes a few things.