Change to playlist loading plus other goodies. Fixes #48, fixes #49.

-Playlists are created after the main library's track data is added to
 the RhythmDB, and the library's track data is cached in GPlaySource.
 The playlists will take a copy of this list on setup and get track
 info from rather than looking it up from the RhythmDB.
-Created GBaseSource.create_entry_from_track_data() because of redundancy.
-Moved init_songs() out of GBaseSource since both child classes implemented
 it in their own way.
-Added a logger so the ThreadPoolExecutors could output useful error info.
Renamed source classes.

"GBaseSource" et al seemed a bit too close to GNOME's naming conventions.
Namespacing and all that.
Cleaning up old, unneeded code.

I don't see a need for using a seperate thread for the initial
library load.
Moved the GooglePlayLibrary to before the GooglePlayPlaylist class.
Actually, still need a thread for getting playlist contents...
Merge pull request #52 from p0lar-bear/develop

Fixing broken playlist implementation.