Adding a default handler option to the RouterHandler. Extracting pipelining to its own method. 
Changing from private to protected to make the class more extensible. Extracting CacheEntry into its own class for reusability. 
Updating the RouterHandler, ensuring that the default handler is removed from the pipeline if a match is found. 
Merge pull request #14 from joachimhs/master

Adding option for a default handler for RouterHandler