Refactored TransportMessage context

Removed CHM in favour of an OpenHashMap and synchronized accessor/mutator methods. Also, the context is now lazily inititialied (just like we do with the headers)
thinking if those `synchronized` code blocks are needed, if you always check for `null` first, as context is never set to `null` again...