Allow the SuccessfulLogin callback to change where a user Redirects to

This allows an extension to overwrite a user's intended destination, or
more usefully, detect when someone is logging in at the top level and
redirect instead to a Dashboard (or in RTIR's case, to /RTIR/).
Merge branch '4.2/redirect-after-login-callback' into 4.2-trunk