Merge Perforce changes into GitHub

- #645 : external filtering and sorting breaks selection
- #632 : watching array.length does not always work
- #893 : Edit mode of first and last row of grid doesn't respond to
enter key
- #938 : $(window).resize not unhooked when $scope destroyed, causing
leaks/performance problems
- #3806 : angular 1.2.0+ broke drag/drop on the ng-grid columns (And
thus re-ordering didn't work either)