Add tests and fix array remove method


Array remove method 
`[1,2,3,4].remove(2)` - result  [2,4]
after removing first item, array is shifted and indexes are changes.
`[1,2,3,4].removeAtIndex(0)` - [2,3,4]
`[2,3,4].removeAtIndex(1)` - [2,4]
I've found better implementation.