Implement primitive datastore operations

Post, put, get, and erase.
Not yet transactional, need to clarify something with @evansb first
Oh, so that's your concern...
Best solution is to use a separate `internal/XMLStorage` or something.
Since that would be a significant refactor, I guess you can use friend class just this once, hmm.
Just use the complete namespace and it should be okay (ignore the compiler warning, try build first).