Prefix the Venice Message header with magic byte and schema info

Changes:
- Pull schema info from the stores.xml
- Add the magic byte and schema info to the Venice Message 
- Reject messages that fail to match what is expected
- Some minor code refactoring and bug fixes
Oh so you're actually writing both the key and value schema version?

I think we can safely assume that there is just one key version.

The semantics of evolving key versions don't make much sense anyway. Typically, changing keys means creating a new store entirely.