finish saving of the playlist ordering and redraw index

- Index is redrawn in a reasonably effient way by looping every item in
  the current playlist and setting their indexes based on their index
  in the tbody.
- Data is also sent to the server in the form of
  {playlsit_id, oldIndex, newIndex}
  which scales well with playlist sizes. It then does the reorder on the
  server using the same two splice commands that are run on the client.

Signed-off-by: Benjamin Kaiser <benjaminjkaiser@gmail.com>