Add a callback to run after a user logs in

Because RT::Authen::ExternalAuth runs before core's
AttemptPasswordAuthentication, the core "you're logged in!" callback
never runs.  This means if you want to do something 'on login' you have
no hook for RT::Authen::ExternalAuth users.

We call the core SuccessfulLogin callback from RT::Authen::ExternalAuth
so that your code should 'just work' in both scenarios.

The DoAuth $next extraction is virtually identical to core, so should
work for normal use cases (RTIR's code works on both core and with this
change).