feat(metrics): Log `entrypoint` to the metrics.

* Add the FxDesktopRelier that imports `entrypoint` and `context` from the URL.
* Relier extended to import `service`, `redirectTo`, `client_id`, and `state`
* Initialize either the FxDesktopRelier or normal Relier on startup.
* Instead of Metrics importing values directly from the URL, they are fetched from the Relier and passed in on creation.

@kparlante - I added the `entrypoint` to the metrics. `entrypoint` will be `none` unless `context` is `fx_desktop_v1`, and then `entrypoint` can be one of:

* menupanel
* uitour
* syncbutton
* abouthome
* preferences

fixes #1568

Should the entrypoints be validated against a known whitelist? This will mean the client needs to be updated whenever the browser adds a new entrypoint.