Minor changes to shuffling and playing songs

- New `force_restart` parameter allows the user to force a song to
  restart if it is the current song. This is useful when skipping tracks
  and the next song is the current track (in one track queues).
- Shuffling now overides to return the current index if it is the only
  song in the queue.