Fixes for #645 and #632

Both fixes are going to decrease performance, but I think the hit is necessary to fix these bugs.
We can use $watchColleciton whenever we start using angular 1.1.4