Catch, log, and throw client errors

As requested in issue #3374

When there's an error in client login code, log and then throw the error as a help for developers trying to integrate persona.