Commit Briefs
add a monitor functionality
this pings all the "interesting" events to clients that issued a IMSG_CTL_MONITOR, except to the one that generated such event.
keep current song in a dedicated variable
playlist.songs[play_off] is not a good representation for the current playing song after all. After a `load' command, or a flush request, the play_off changes but we're still playing the "old" song. This saves the current song in a dedicated variable that's updated upon playlist_advance and playlist_previous, thus givin a more accurate view.