revert(DCCD): Reverts method closurization changes.

revert(DCCD): Reverts "when watching variables, always fire on first digest"

This reverts commit 50fc615dbb356574a78b44fa8e4364b2916b92c9.

revert(ChangeDetector): Reverts "When watching a methods colorization should not show up as changes"

This reverts commit 3bc5ec994db4ff77e1d5bc30635561b6ffd2f1bf.
revert(Scope): Reverts "Use VmTurnZone.onScheduleMicrotask in Scope"

Will fix after 0.11.0 is released.

This reverts commit e2b8e3443ea96fca5a4d0353fed79da7ee86347c.
refactor: Refactor test setup.

Befor each test, a div element with attribute ng-app, is created. This is a container into which test can put some content. This container is destroyed after each test
feat(EventHandler): EventHandler exposes method to register a callback.

EventHandler exposes and API to register a callback programatically.
InputSelect is the first component to utilize that API for handling
change event.
feat(EventHandler): Expose EventHandler API to walk dom tree and execute attached callbacks.

walkDomTreeAndExecute method is exposed by EventHandler. It's primary purpose is to allow TestBed.triggerEvent
method to emulate bubbling. This in turn allows writing tests which use EventHandler but tests don't need to use
document.body in order to exhibit event propagation. This should result in faster test execution time.
refactor(NgModelSelectSpec): Refactor tests to use the new event bubbling API
refactor(EventHandler): EventHandler can release all registered listeners.

Added method `releaseListeners` to release all registered listeners.
refactor(NgEvents): NgEvents use EventHandler.
test can attach to root element and automatically detect if event should bubble or trigger