Added some helper methods for creating Reactors.
Added an ExpressionSelector implementation which uses SpEL to match selection keys.

An existing EvaluationContext can be reused with the ExpressionSelectors created, or some helper methods exist to create a default one for you. One can also pass the helper method a BeanFactory and have all the beans available in that BeanFactory available to the Selectors to aid in matching.

The test demonstrates how to use it, but basically it goes something like:

    reactor.on(E("name == 'Match This!'"), new Consumer<Event<?>>() {
      public void accept(Event<?> ev) {
        // The bean is my key
        Bean b = (Bean)ev.getKey();
        String name = b.getName();
        ... etc...
      }
    });
    reactor.notify(new Bean("Match This!"));

It's not necessary to pass the bean as the data in an Event, though that might be preferable for clarity's sake.