feat(scope): add $watchProps method to scope.

The new method allows to shallow watch collections (Arrays/Maps).
feat(ngRepeat): add support for hash for item in items

BREAKING CHANGE: 

Default behavior for hg-repeat is to associate the 
DOM elements by position rather then by identity. 
(Previously it was associate by object identity)

It is considered an error to have two items produce 
the same hash key. (This was tolerated before.)

To get the old behavior one can simply add the 
$hash call to the hg-repeat expressions:
item in items => $hash(item) for item in items