feat: Check for required OAuth parameters on startup.

If either `scope` or `client_id` is missing/invalid, send the user to `/400.html` and show them an error message.

* Add the 400.html page.
* Check for required parameters in the OAuth relier.
* If the `client_id` is invalid, show the user `Unknown client`
* If app start detects an OAuth error, it redirects to /400.html with query parameters that can be used to log the error.
* Add server logging of parameters passed to /400.html and /500.html
* Try to simplify the error creation logic a bit.
* Add Url->objToSearchString.

Add a new OAuth error:
* 1005 - Missing parameter - it's `param` will be the midding parameter.

fixes #1740
fixes #1972