MusicController: consolidate trackEndedNaturally and stop

- trackEndedNaturally (which is called at the end of a track) and stop 
  had a lot of duplicated functionality. In fact stop was missing some.
  Now trackEndedNaturally calls stop which does most things.
- Closes bug from issue #56