fixes and refactoring for lastgenre.source (#88)

This provides a default for source, preventing a crash when not present in the
user's config.

It also refactors the source decision to a helper function, _lastfm_obj, to
avoid copypasta.
changelog and doc fixes for #88