replaygain: modified current implementation to fit a backend framework in anticipation of other implementations
replaygain: Added gstreamer support, fixed some small bugs
replaygain: Added some informative prints, removed hardcoded debug print
minor Python style; move namedtuples to module
eliminate GStreamer globals and initialize_config
replaygain: Update documentation to include some info regarding the GStreamer backend
replaygain: fixed small errors introduced by previous refactor. Commented the code in key parts.
replaygain: Improved error handling
Refine docstrings and fix style issues (flake8)
Remove debug print statements
Move available backends to class level

See also https://github.com/sampsyo/beets/issues/650
replaygain: Added a FatalReplayGainError class to signal the plugin that the backend failed completely
replaygain: clarified the need to strange thread initialization|
Add basic cli tests for replaygain
Use GLib.MainLoop instead of deprecated GObject
Reset config and plugins after tests
Install gstreamer1.0 on travis
Add python-gi and bad gstreamer plugins to travis
Fix typo in .travis.yml
Final attempt at travis and gstreamer