Re-organises library sources. Dumps old constructors in favour of async listen methods. Adds test for pre- and post processor.
Updates example and readme.
Moves handling responsibility to Endpoint. Adds special endpoint for root handling, because the old one always matched all URLs and had to be last in the list. Adds tests for new Endpoint. Adds completely asynchronous handling in Endpoint and server logic (currently still wrapped in Future.sync() since it is mixed with sync calls).
We should actually wait for the future to return. Also return some error information in the response.
Fixes registration of default OPTIONS handler. Only try to match arguments if there are arguments. Adds unit test for default OPTIONS call.
Rebase to master. Includes new annotation support from upstream.