Create ProcessorSpec for helping create Processor instances.
Add Groovy extension module for ProcessorSpec for using Closures as Consumers and Suppliers.
Fixes #154 by ignoring Predicate failures entirely and not reporting them as errors.
Fix a package tangle.
Add meaningful toString to Event.
Fix package tangles.
Addresses #155 by adding awareness of a new CancelConsumerException to the EventRouter so that if a Consumer throws this Exception, it is caught by the EventRouter and the Registration is immediately cancelled.

Also added a CancellableConsumer which takes a Predicate in the constructor. When this Consumer is used in place of a standard Consumer, the user can implement the doAccept(T) method and be assured that it will only be called while the Predicate is true. If the Predicate returns false, the Consumer throws a CancelConsumerException so that it can be removed from the Registry.
Fixes to the Promise tests to reflect changes for #154.
Merge branch 'cancel-consumer'