chore(pubspec): requires DI >= 0.0.40

close #1016

The DI ".bind()" syntax has been used in angular since
3cf82a11fc187f9c439bfd58b66480adf204ca7e. It requires the DI version to
be at least 0.0.40
chore(run-test.sh): Use the dart bin configured by env.sh
chore: fix doc generation by putting it back into Travis
chore(docs): Fix master not getting kicked off after success in presubmit
chore(docs): fix for broken travis doc generation
chore(docs): make docs generate from the correct travis job
chore(docs): fix typos in Travis build scripts
chore(docs): comment for doc generation
chore(docs): debug Travis doc generation issue
chore(docs): fix env.sh for doc generation
chore(docs): export DARTSDK as well as DART_SDK from env.sh
chore(docs): run docs from stable to work around dartanalyzer bug in dev
fix(ViewCache): Use an unbounded cache in the ViewCache.

ViewCache was broken by the LruCache change in 3e60863.  Between
that change and this one, it was not caching any views.

Also, add a test.
fix(http): use location.href instead of toString

location.toString() fails when running with web_compomnents polyfill.
chore(docs): fix dartdoc indentation for application_factory
docs(Scope): explain `::` and `:` expression notation
chore(testing): upgrade guinness

Upgrade the Guinness library to fix the issue with `ddescribe` not working.

Closes #1029
chore: add flowdock to travis
fix(compiler): OneWayOneTime bindings now wait for the model to stablize

BREAKING CHANGE

Previously, OneWayOneTime bindings would remove their watch after the
first value assignment.  For models that take more than one digest loop
to stablize, this meant the OneWayOneTime bindings took a un-stablized
value.

With this change, these bindings will continue to accept value
assignments until their stablized value is non-null. The assignment may
occur multiple times.

We expect that most uses of OneWayOneTime will be 'ok' with
being called a few times as the model stablizes.

However, applications which depend on OneWayOneTime bindings being
called exactly once will break.  The suggested upgrade path is to
move the senstive code into a domWrite callback. e.g. the old code:

    @Decorator(
        map: const { 'one-time': '=>!value' })
    class OneTime {
      set value(v) => onlyCalledOnce(v);
    }

becomes

    @Decorator(
        map: const { 'one-time': '=>!value' })
    class OneTime {
      var _value;
      set value(v) {
        if (_value == null) {
	  scope.rootScope.domWrite(() => onlyCalledOnce(_value));
	}
      	_value = v;
      }
    }

Closes #1013
fix(directives): remove an unused import