Clear session *before* dispatching a new route.

This is because the dispatch route can die, causing cleanup not to be
called.