Only change volume if we're idle

- Only change the volume if we're going into or coming out of idle
- Added option to not change Repeat state
- When the next item in the playlist is queued, if the volume has been
changed, set that as the new idle volume