Adds before_request and after_request signals in Router.

These signals are called before and after a Request execution to bind
custom events.

As an example, the benchmark uses a after_request signals to finalize
its calculations.
Request and Response are initialized before the Route matching.

before_request is called before the matching process, so that unmatched
Request may still be captured in before_request.

This allow a call to after_request if the Request is not matched.
Merge pull request #8 from arteymix/signals-around-request

Signals around request