feat(ngRepeat): expose the iterating properties over the alias

Expose the properties `$index`, `$first`, `$middle`, `$last`, `$odd` and `$even` as part of the alias

Closes #9582
I don't think it's too bad --- I suggested earlier that we could set up a dictionary of aliases on $scope (which would be touched by the dictionary) to keep them in sync with assign expressions --- then we'd use assign rather than `=` to set up the $index/etc vars, and do the hard work without touching dirty checking.