updating before major publish

@kevmoo @scarygami I'm not able to track down the bug when a future gets completed twice. Once thats figured out I think we can publish? 

` _tokenCompleter.completeError(exception);` always gets called in the sample if its the first time trying to login and the browser doesnt have any thing cached. I test on incognito mode and cant figure out exactly why its happening. 

```
    channel = new _ProxyChannel(_provider, (subject, args) {
      switch (subject) {
        case "oauth2relayReady":
          completer.complete(channel);
          break;
        case "oauth2callback":
          try {
            Token token = Token._parse(args[0]);
            _tokenCompleter.complete(token);
          } catch (exception) {
            _tokenCompleter.completeError(exception);
          }
          break;
      }
    });
```