Implement HALe vendor extension serializer

As per spec https://github.com/mdsol/hale/tree/haledoc

Note: I am still not happy with the current code, but I figured I can critique with everyone else on the PR