Allow MessageDispatcher to handle messages

* Let's say someone publishes messages through SNS to me. The publisher will serialize them with the sns subject set to the full classname of the message definition as seen by the publisher. For example "com.sun.SomethingHappened".
* As a reciever of the event, I still want to be able to use the MessageDispatcher to route messages based on their SNS subject. But I do not want to be forced to make my messages be in the com.sun namespace. I might want to define it as "com.rainbowcoloredunicorns.SomethingHappened".
* With this change, you can (as a subscriber), use the MessageDispatcher this way, by calling
messageDispatcher.addHandler(com.rainbowcoloredunicorns.SomethingHappened.class, "com.sun.SomethingHappened", handler);
Rename messageTypeName -> eventName
Set explicit eventName when publishing from a PublisherService.

* Allow specifying explicit event name when creating a PublisherService. This event name will be used instead of the class name when publishing messages.
* Add unit tests for explicit event name handling in PublisherService and MessageDispatcher.
Merge pull request #15 from iZettle/subscribe-to-messagetypes-with-explicit-classname

Allow MessageDispatcher to handle messages based on supplied string name