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)
not sure I share your concern, the parameterized return value is for cleaner API (so you won't need to cast on the caller side). Not sure how that relates to the key type