Cleanup the app after a forward request:

Because we set App-level request and response on every request,
whenever we have a new request cycle, we need to clean up the app
completely of them, and then restart the dispatching cycle.

The forward() command is basically setting the request to a new one
and then restarting the cycle. That's why we have to clean up the
app first.

Thanks to Russell Jenkins for spotting this. Closes GH #629.
Merge branch 'fix/clear-app-on-forward'