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