Refactor MessageContext to be reusable outside protostream

* also cleanup pom dependencies