Tweak gradle pom config
Tweak README
renaming and small tweaks
Interchange selector (left or right operand)
Added header handling for RegexSelectors and UriTemplateSelectors. Added a method to the Selector interface that exposes a setHeader(Selector, Event) method that will extract any header values from the Selector being matched against and set those values as headers on the Event. Also added the setting of headers into the dispatcher implementations which is unfortunately the only place where the left-hand side of the Selector comparison, the right-hand side, and the Event are all in the same place. This doesn't seem to impact the performance of standard Selectors because they skip over setting headers, but for UriTemplate and Regex Selectors, it will probably impact performance, the amount of which is not yet determined.
Reset latch after each run

The throughput tests use a CountDownLatch to determine when a run
is complete. Each test performs multiple runs. Previously, the latch
was being setup once per test so for anything but the first run in the
test the latch would already be counted down.

Update the tests to reset the latch before each run.
Merge pull request #4 from wilkinsona/throughput-tests

Reset latch after each run
remove unused extension. add new signature for observableExtension
Replace PooledDispatcher with a ThreadPoolExecutor-based Dispatcher
Merge pull request #5 from wilkinsona/thread-pool-dispatcher

Replace PooledDispatcher with a ThreadPoolExecutor-based Dispatcher
Use ReadWriteLock rather than synchronization

Access to CachingRegistry will typically be very read heavy with few,
if any, writes occurring after initial setup has been completed.
Therefore, it's a good candidate for using a ReadWriteLock, which
allows parallel reads, in place of standard synchronization which does
not.
Merge pull request #6 from wilkinsona/cache-registry-rwl

Use ReadWriteLock rather than synchronization