.watch() should throw an exception if loggedInUser is not a valid type

Valid types for `loggedInUser` are: `undefined`, `null`, `false`, String

`typeof undefined === 'undefined';`
`typeof null === 'object';`
`typeof false === 'boolean';`

.watch() will throw an Error if loggedInUser is not a valid type.

Fixes Issue #2647.