fix(test): No longer redirect on the web channel tests.

The web channel tests redirect to the RP when the oauth_complete message is received, making it impossible to test that FxA is showing the correct screen when the flow completes.

* Use a similar strategy to the FxDesktop/Sync tests that listen for messages and add elements to the DOM. Test for the expected element's existence on the DOM.

fixes #1943
fix(client): Ensure the web-channel flows match expected behavior.

* Only the signin flow should close the window, all others should redirect.
* Add more functional tests for this case.

issue #1816
issue #1818
issue #1936
issue #1940
fix(client): WebChannel/Hello screen and event fixes.

* Ensure Hello users see the "ready" screen when an account is verified.
* Ensure the "oauth_complete" message is sent to the browser for sign up and password reset, even if the original tab is closed.
* Add more functional tests for the replace original tab and verify in a separate tab cases.

fixes #1818
issue #1936
issue #1938
issue #1940
Move the "open an external site" code to FunctionalHelpers.
Merge pull request #1945 from mozilla/issue-1943-web-channel-functional-tests

fix(client & test): Fix web channel flows to match expected behavior, add more functional tests to boost coverage r=vladikoff