Prefer passing display opts to watch, not request

This patch is backwards compatible.

Console warnings are issued when display options (siteName, siteLogo,
backgroundColor) are passed to .request().

Rationale:

In the future, we hope that browsers will have native support for the BrowserID
protocol. It would be nice if those browsers could display properly themed "sign
into this site" buttons in the native browser UI.

If display options are passed to .request(), they're not known until the user
clicks "sign in" on the site itself. On the other hand, if they're passed to
.watch(), they're known by the browser as soon as the site loads, and can be
used without requiring direct user interaction with the page.

Related to #4134
You don't need the guard clause at all, just do `displayOpts.foo = options.foo` for each of these