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
feat(parser): Add new AST based parser

The evaluation of the AST nodes is deliberately left out of this
change to keep it as simple as possible, but if you're interested
I do have a full implementation of it.

It probably makes sense to rewrite the static parser generator to
use the new AST visiting support -- so I'll probably do that as
the next step to start cutting down on the dependencies on the old
parser.

Once the new lexer lands there are a number of ways to improve
parsing performance through changes to the token representation.