Fixes #261 Provides OOTB support for common serializers

Adds several Codecs to the OOTB set that provide common serialization framework interaction. The supported serializers that come with core include Kryo, Protobuf, and Jackson JSON. The dependencies for these serializers are optional so still must be included in a project if they are to be used.

This PR adds a couple of improvements to the way Codecs are handled and what they're responsible for. Previously, all Codecs had to be paired with a framing codec like the LengthFieldCodec to ensure that message streams were properly segmented. That functionality is now built in to the Codecs so that the default behavior is to provide length field framing. This can be turned off by passing the appropriate switch to the Codec's constructor.