change ordering in angular directive to move element in the array

The current behaviour when dragging elements is to exchange $start element with $end element.
Not sure if that was intended, but what I'd expect is that the element is moved to the new position and the others are shifted.
Example for array [1,2,3,4].
Currently when moving 4 to first position we end up with [4,2,3,1] instead of [4,1,2,3].
It can be observed using angular-single.html example page.

Solution with slice method taken from second answer on [StackExchange](http://stackoverflow.com/questions/5306680/move-an-array-element-from-one-array-position-to-another)