Keep the session in tact when forwarding:

Previous commit fucked up the forwarding because the application cleanup
also removed the session data. A forward(), while being another request
from the top, should keep the session in tact.

Instead we only clenaup the request and response, since those will be
rebuilt properly at the start of a new dispatching cycle.

Closes GH #632. Relates to GH #629, GH #633.
Merge branch 'fix/forward-keeps-session'
Test against perl 5.20 on travis-ci
Allow context-like shift for app in hooks:

Before the context object was untangled, it used to be sent to hooks.
When we removed it, we sent the application object instead. The
problem is that hooks assumed they could call "app" method on the
context to receive the app. Now that the context object is the app
itself, this meant it would break all hooks. Damn it.

While we're working on cleaning up the different plugins that are
available, we're starting with adding a shim that will make the
current code in the wild still work.

    hook before => sub {
        my $ctx = shift;     # $ctx is actually the app
        my $app = $ctx->app; # returns itself
    };

Fixes GH #641.
reflect change
Merge branch 'feature/shim-for-context'
Fixed whitespace errors

Fixed whitespace erros, so that prove xt/whitespaces.t would pass
reflect changes
Merge branch 'pr/whitespace_cleanup'