Message Filtering

Implement a filter interface and a noop filter class that can be replaced with a user-defined class to filtering out undesired messages

cc @Casen @johnwana 

(I haven't made a filter class to test that this *actually* works yet, but it compiles!)