fix(oauth): validate that redirect param exists.

Fixes #1786
feat(metrics): Add three new auth-errors

* INVALID_RESULT - oauth.1001 - if OAuth result is missing.
* INVALID_RESULT_REDIRECT - oauth.1002 - if OAuth result is available, but is missing redirect field.
* INVALID_RESULT_CODE - oauth.1003 - OAuth code in result's redirect is missing or invalid.
Merge branch 'be-redirect'