Add E.split and E.route.

This patch adds functions to dispatch one event to many.  I don't think this can be done with optimal asymptotic complexity from the existing functions.  The closest I can think of is to create a trie of events, each bisecting the incoming events to one of two sub-events, but the depth of the trie would have to be specified in advance.  Could this or some similar functionality be added?

Tests are included, but please check the way I'm creating and using the intermediate event n' for correctness.  I could also throw in a benchmark against filter.  Also, you may have another idea about naming and placement of the functions w.r.t. the documentation.