test(scope_spec) watchCollection notices when the value becomes an object
refactor(scope_spec) watchCollections internalWatchFn notices when the value becomes an object
test(scope_spec) watchCollection notice when an attribute is added to an object
test(scope_spec.js) watchCollection function notcies when an attribute changes on n object
refactor(scope.js) watchCollection function notcies when an attribute changes on n object
test(scope_spec) watchCollection does not fail on NaN attributes on objects
refactor(scope.js) watchCollection does not fail on NaN attributes on objects
test(scope_spec) watchCollection notices when an attribute has been removed from an object
refactor(scope.js) watchColllection notices when an attribute has been removed from an object
refactor(scope.js) give watchCollections internal function a reference to the new and old length of an object to check for removed properties