feat(template_cache_generator): Support custom template path resolution

Closes #923
refactor(dccd): Simplify both the interface and the implementation

Closes #909
fixup! fix(change-detector): handle double.NAN for collections (in JS)
fix: More consistent type naming

Closes #902

BREAKING CHANGE:
  - Concepts:
    - Filter                        -> Formatter

  - import:
    - angular/directive/ng_a.dart   -> angular/directive/a_href.dart
    - angular/filter/currency.dart  -> angular/formatter/currency.dart
    - angular/filter/date.dart      -> angular/formatter/date.dart
    - angular/filter/filter.dart    -> angular/formatter/filter.dart
    - angular/filter/json.dart      -> angular/formatter/json.dart
    - angular/filter/limit_to.dart  -> angular/formatter/limit_to.dart
    - angular/filter/lowercase.dart -> angular/formatter/lowercase.dart
    - angular/filter/module.dart    -> angular/formatter/module.dart
    - angular/filter/number.dart    -> angular/formatter/number.dart
    - angular/filter/order_by.dart  -> angular/formatter/order_by.dart
    - angular/filter/stringify.dart -> angular/formatter/stringify.dart
    - angular/filter/uppercase.dart -> angular/formatter/uppercase.dart

  - Types:
    - NgA                           -> AHref
    - NgAttachAware                 -> AttachAware
    - NgDetachAware                 -> DetachAware
    - NgShadowRootAware             -> ShadowRootAware
    - NgFilter                      -> Formatter
    - NgInjectableService           -> Injectable
    - AbstractNgAnnotation          -> Directive
    - AbstractNgFieldAnnotation     -> DirectiveAnnotation
    - NgComponent                   -> Component
    - NgController                  -> Controller
    - NgDirective                   -> Decorator
    - NgAnimate                     -> Animate
    - NgZone                        -> VmTurnZone
    - NgAnimationModule             -> AnimationModule
    - NgCoreModule                  -> CoreModule
    - NgCoreDomModule               -> CoreDomModule
    - NgAnimationDirective          -> NgAnimation
    - NgAnimationChildrenDirective  -> NgAnimationChildren
    - FilterMap                     -> FormatterMap
    - NgAttrMustacheDirective       -> AttrMustache
    - NgTextMustacheDirective       -> TextMustache

  - Constants
    - NgDirective.LOCAL_VISIBILITY           -> Directive.LOCAL_VISIBILITY
    - NgDirective.CHILDREN_VISIBILITY        -> Directive.CHILDREN_VISIBILITY
    - NgDirective.DIRECT_CHILDREN_VISIBILITY -> Directive.DIRECT_CHILDREN_VISIBILITY
chore: disable dart2js tests on stable (dart v1.3) due to dart bug

https://chromiumcodereview.appspot.com/234483003/
test(angular): Track referenced but not exported symbols
chore: release v0.10.0
chore: correct commit message validator instructions
docs: update: Application, AngularModule, directives, farmattors

Closes #897
docs: add more scope and change detection docs for 0.9.11
fix(symbol_inspector): Do not return private symbols
fix(angular_spec): Acutally assert
chore(symbol_inspector): Move and test the assert
test(symbols): Whitelist symbols from angular.animate

Closes #823
feat(annotation): Annotations on superclasses are honored

This patch supports the following scenario:

```
class Base {
  @NgAttr('foo')
  var foo;
}

@NgDirective(selector:'my-directive')
class MyDirective extends Base {
  @NgAttr('bar')
  var bar;
}
```

MyDirective will now have both properties, foo and bar.

Closes #829
chore(Symbols): export ReactionFn
refactor(WatchGroup): remove an interface

WatchGroup does not need to implement both WatchRecord<H> and Record<H>
because WatchRecord<H> extends Record<H>.

Closes #927
fix(StaticMetadataExtractor): Map members annotations to all annotations

Closes #904
fix(specs): toHaveText merges shadow DOM correctly