Improve test coverage for oae-authentication

api.js:

- [x] Execute loginIdExists with a validation error
- [x] Execute associateLoginId with user that doesn't exist
- [x] Execute changePassword by someone who isn't admin or the user for who the password is being changed
- [x] Execute changePassword by someone who doesn't have a local login strategy user id
- [x] Execute checkPassword with a validation error
- [x] Execute getUserIdFromLoginId with a validation error

rest.js

- [x] Can we call /api/auth/google and check that this forwards to Google?
- [x] Can we call /api/auth/twitter and check that this forwards to Twitter?
- [x] Can we call /api/auth/facebook and check that this forwards to Facebook?
- [x] Test a failed password change through the global admin
- [x] Execute /api/auth/exists with no username