[WIP] Ability to subscribe to interfaces

Sometimes it's not a good idea to subscribe to message implementations because it hinders versioning, this change will allow you to subscribe to a message interface. Right now it will subscribe on a queue which matches the implementation, for example: `IMyMessage` will subscribe on `MyMessage`.

This will only work for the default serializer, other serializers will need to be extended to support this.