Login v2 API

Introducing the v2 Login API, backed by the original Admin.Login logic. Builds on proposed pull request #367.
Seems reasonable to return error if we can't register the pingTimeout. After all, we're returning an error if we can't set up the pinger.