Tidy code by making a separate ConfigDialog class
Add some padding to the dialog controls (fixes #1)
Eliminate valid_song, fold into get_genre
Python 3 compatibility fixes

This is just applying some changes that 2to3 suggested. It suggested
more, but
- the anydbm -> dbm change would change Python 2 semantics
- some of the list() wrappers it adds aren't needed

This doesn't do anything about PyGTK deprecations. It's also not tested
against Python 3, since I don't have Python 3 Rhythmbox.