Support for codecs in nrv

*Added contentType as a first class citizen to avoid using a key, since it will now be used in ALL nrv message.
*Still using contentType for simplicity and better class cohesion, but will set it smartly, so no need to worry about it.
*That's only serializer work, the rest is coming! [UPDATE: It's here now!]
*Codec selection in ActionSupport
*Fork in protocol