Rhythmbox plugin: Bug fix, update for modern MonoDevelop and new features

As discussed via e-mail with Chris Halse Rogers.

Taken together, these commits:
* Adds a .gitignore (this is the first commit made to this repo after conversion from LaunchPad/Bazaar).
* Updates the Rhythmbox project to one usable in modern MonoDevelop versions, and changes the plugin homepage (used by the About button in Do) to one that isn't taken over by spam.
* Fixes a bug in said plugin, which incorrectly grouped songs when multiple albums shared the same title, but were from different artists.
* Adds sorting by disc number, not just track number; however, sorting is mostly ignored in Do at the moment (it sorts results by relevance, regardless of the order we provide), so this might not be very useful yet.
* Adds all playlists and songs to the search index. For playlists, the Rhythmbox MPRIS plugin must be activated (which it appears to be by default), as rhythmbox-client doesn't support switching playlists. Everything else keeps working as before if the plugin happens to be disabled.
* Uses Do.Platform.Log instead of Console.WriteLine and Console.Error.WriteLine for error logging.

I did not add myself to the COPYRIGHT file, by the way; Chris is also not listed. Not sure if this should be updated.
TBH, I'm not well-versed in DBus... but from my testing, it works. I've done testing with restarting Rhythmbox and both trying to play various playlists immediately, and also waiting until Do must've re-scanned the library/playlists, and both have worked (since I stopped caching the Rhythmbox playlist IDs, which change on restart; only the names are cached now).

It also works to quit Rhythmbox, and then tell the plugin to play something (including playlists); Rhythmbox starts up and switches to whatever you asked it to.

I just tried to add a new playlist, restart Rhythmbox, and wait; it showed up in Do after a minute or so (rescan/cache time is set to just 45 sec, sounds a bit low to me), and playing it worked (without restarting Do).

Is it possible that the object is always the same, e.g. that it's just a way to store the DBus path etc. (org.mpris.MediaPlayer2.rhythmbox and /org/mpris/MediaPlayer2), meaning it will always be valid? That's how it appears to act, but if you still think this might break, I'm open to suggestions! :)