fix(change-detection): remove memory leak, use iterator

When the change detection finds change it creates a
linked list of records which have changed. The linked
list is not bound to groups but rather crosses groups,
this implies that if we remove a group it is possible that
a record in a live group retains a pointer to a
record in the now deleted record. While technically
not a leak, the memory will not be realized until that
record detects another change and gets re-added to the
dirty list. If the record never fires than the
memory is retained forever.
chore(import) remove unused import
chore(ng-repeat) remove deprecated NgShallowRepeat
fix(change-detection): delay processing watch registration inside reaction fn.

If a reaction function registers a new watch that watch should not be processed 
until the next change detection cycle.
fix(angular): export GetterCache from dccd
chore(demo): update demo titles & markup

Closes #636
fix(parser, scope): Allow nulls in binary operations.

Fixes #646
chore(compiler): Fix TODO in tests
fix(change-detection): reset next/prev on watchGroup.marker
doc(selector): add the ":contains()" pseudo-selector

see dartbug.com/16422

Closes #639
fix(NgForm): use map notation for controls and dot notation for instance properties
fix(NgForm): always return the first matching control when using map notation on a NgForm instance
feat(NgForm): provide access to non-uniquely named control instances via form.controls

Closes #642
feat(block): Kill block events.

Closes #659
refactor(animation): some cleanup / refactoring

Closes #660
feat(animate): ng-animate and ng-animate-children.

These two directives allow you to control animations and turn them on or off on individual elements or whole sections of dom.

Closes #661
fix(NodeCursor): Removes nodeList() in favor of current

Closes #644
style: code cleanup

Closes #671
fix(ngControl): unregister control from parent on detach

Un-register a control with its parent on detach, and also move register call to attach().
Right now, when a form element(such as an input) is removed from the dom,
the parent control does not remove it from the list of controls.

Closes #684
feat(forms): use the ng-form attribute as the name of the inner form

Closes #681