Revamp playlist track ordering to use explicit index

- PlaylistTrack now has an index property
- Playlist has sortedTracks 
- use mergeChangesFromContextDidSave instead of refreshObject