Introduced a Sequencer for ordered and optionally persistent sequencing of events. It ensures that all events published on a key are ordered through a pluggable Queue implementation. The default is to use the same type of Queues for other places within Reactor (the LinkedTransferQueue e.g.).

A Sequencer can be configured to persist events by setting it's Queue to be an instance of one of the newly-introduced PersistentQueue implementations. There are two default impls: InMemory and IndexedChronicle. The former uses a Map and the latter uses a JavaChronicle IndexedChronicle to persist Events to the filesystem. It should be fairly straightforward, then, to create an instance of a PersistentQueue pointing to the same JavaChronicle in another process and read items from Queue that were published in the first process.
Update javadoc, add test for PersistentQueue.
Introduced a Sequencer for ordered and optionally persistent sequencing of events. It ensures that all events published on a key are ordered through a pluggable Queue implementation. The default is to use the same type of Queues for other places within Reactor (the LinkedTransferQueue e.g.).

A Sequencer can be configured to persist events by setting it's Queue to be an instance of one of the newly-introduced PersistentQueue implementations. There are two default impls: InMemory and IndexedChronicle. The former uses a Map and the latter uses a JavaChronicle IndexedChronicle to persist Events to the filesystem. It should be fairly straightforward, then, to create an instance of a PersistentQueue pointing to the same JavaChronicle in another process and read items from Queue that were published in the first process.
Update javadoc, add test for PersistentQueue.
Fix a bug with generics use.
RoundRobinFilter read-write lock recheck.

According to `ReentrantReadWriteLock.java` javadoc, we should
```java
Recheck state because another thread might have
acquired write lock and changed state before we did.
```
In our case if `usageCount == null`, than `usageCounts` map doesn't contain this key. But during 
```java
readLock.unlock();
writeLock.lock();
``` 
another thread can modify `usageCounts` map.
Seems like we need a recheck.
Merge pull request #151 from WonderBeat/patch-1

RoundRobinFilter read-write lock recheck.
Merge branch 'sequencer' of github.com:reactor/reactor into sequencer
Merge branch 'sequencer'
Fix bug in PersistentQueueSpec which was causing the get() to return null.
Fix Sequencer and PersistentQueue tests.
Fix PersistentQueue tests.
Trying to fix file permissions issues with IndexedChronicleQueuePersistor
Trying to fix file permissions problems on the build servers when running PersistentQueue tests
The JavaChronicle was incorrectly reporting the availability of a next index on the Linux-based CI servers. This condition was not happening on the Mac OS X JDK. Not sure why that would work differently but I added some code to capture errors and log them at DEBUG level but assume that an inability to read data from the Chronicle is mistake of the system and thus will return null to the user rather than throwing an exception.
Changed the way Chronicles are created for testing so that the tests don't use each other's Chronicles, which causes problems.
Ignore Java Chronicle index and data files
Fix problems with Java Chronicles that were being re-used between test runs, causing unpredictable behaviour. Also added a close() method to the QueuePersistor so that underlying persistence engines can be notified when to clear resources. Updated tests to reflect the bug fixes to get all tests to pass.
Changed visibility of some components of the Reactor configuration system.
Made the monitor for headers a UUID so that it can be serialized.