Throw more descriptive exception when handling message without subject

* When handling a message that does not specify a `subject` for the `MessageDispatcher` to route, we should not NPE.
* Instead, we should give a descriptive exception.

Ping @mikaellothman