Add feature to use key for mapping in ngRepeat

The attribute `npRepeatUseKey` toggles whether to use the key (for arrays,
this would be the index, for objects, this would be the key) for mapping
values to their respective scopes.

I have not added spec/tests and documentation changes because I'm awaiting input/feedback on this implementation.

Referring to Issue #1374