Added support to register custom serializers, fixes #2464

We now support two possible was to register a custom serializer.

A user can either `config.UseSerialization(type of definition)` or  `config.UseSerialization(type of serializerImplementation)`

There are breaking changes but those are on purpose since the API was broken and unusable from an external consumer.
nope, the only requirement is for it to be in the `NServiceBus.Features` namespace