fix(introspection): Search our shadowRoot as well
feat(ng-pluralize): Implement the ng-pluralize directive
refactor(ng-pluralize): Make propertie names clearer
Removing package:js dependency from Angular

Converting all uses over to dart:js. In general dart:js gives a bit better performance and removes a dependency on mirrors.
chore(docs): spelling and grammar
chore(docs): fix documentation typos.
refactor(all): use dart idioms
feat(NodeAttrs): Implement forEach to iterate over attributes
refactor(core_dom/directive): Remove duplicated code
perf(NodeAttrs): Remove one unnecessary call to snakecase

The `_observers` map is now indexed by camelCase names, saving 1 call to
`snakeCase`. `this[attributeName]` was also resulting in calling
`snakecase` on an already snake-name (which is not an error).
feat(NodeAttrs): implement the keys getter and containsKey()
feat(travis): add travis support
chore(travis): adde documentation travis.md
test(parser): Added a test case for private field access
docs(travis): Add a bit of colour to the travis instructions
chore(demos): Delete the obsolete 'books' demo
feat(compiler): Throw a useful error message on a missing NgComponenet selector
feat(compiler): A better error message for invalid selectors
fix(http_backend): don't swallow http request errors.

fixes #376
fixes #224
test(http): Verify bad JSON triggers http.get()'s onError

Closes #230