Negative indices for list nodes, and list insertion and replacement: MAGN-4816

Added two new nodes: __List.InsertItemAtIndex__ and __List.ReplaceItemAtIndex__. Updated __List.GetItemAtIndex__ to take negative indices.

#### Reviewers:
* [x] @aparajit-pratap 
Could we have some negative tests as well. What happens if you insert into an empty list etc.

Could you check in with @jnealb about detailed testing here? That might make a good example for him to work on. @RodRecker what do you think?