Improve session cookie support (and fast session support)

Session engines that don't read data on every request need a way to clear the cached session data for new requests.  Before hooks are not sufficiently reliable for this, so we need a new hook that runs when Dancer itself clears global state.

Also fixes a bug where "after" was not being called on a redirect called from a "before" hook.