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.
https://github.com/Particular/NServiceBus/blob/develop/src/NServiceBus.Core.Tests/StandardsTests.cs#L21