feat(change-detection): Initial implementation of new change-detection algorithm.

The classes are not yet hooked up to angular scopes yet, so so far this is a stand alone code.
feat(scope2): Basic implementation of Scope v2