Remove special Unimplemented event type in core
The kilter.protocol.core.Unimplemented special message type allows filters to receive messages that kilter.protocol does not understand. However (currently) if a filter were to attempt to respond, an UnexpectedMessage exception would be raised. It is not even possible to determine if a response should be sent.  Therefore unknown messages should cause the filter to abort.
Additionally, #7 would allow filters to support experimental MTA milter implementations by defining custom message types and their relationships with other messages.