Simplify the OAuth completion logic.

* Fix the jscs and jshint errors.
* Rename some modules to have a "_" instead of an "-"
* Remove the FxWebChannel for now to simplify review.
* Create a BaseChannel which is the channel interface.
* Extract the OAuth redirect code into its own channel named RedirectChannel.
* Use metadata stored on the channel to decide whether to complete the OAuth flow automatically.
* Add helper functions to service-mixin.js to clarify intentions.
* Expose the ButtonProgressIndicator so that it can be used automagically.