Throw an error if navigator.id.request is called before navigator.id.watch

fixes #3023
Merge pull request #3054 from shane-tomlinson/issue_3023_request_before_watch

Throw an error if navigator.id.request is called before navigator.id.watch