Merge remote-tracking branch 'echel0n/forceprocess_dir' into develop
Updated musicbrainz lib
Initial changes to get 'prefer torrents' option working
Pulled in a few beets updates
Reverted a couple changes for bug testing
Heavily modified searcher.py in order to allow searching for torrents over nzbs & combining results to pick the best of both
Couple of bug fixes
Merge branch 'prefer-torrents' into develop
Added option to replace existing folders instead of creating duplicates
Fixed a bug with nzbs
Merge branch 'prefer-torrents-bugfixes' into develop
Initial rewrite of logger.

Log messages are now fully handled by Python's logging framework. Since logger methods are
directly exposed, it is now possible to pass placeholders as arguments:

   logger.error("Caused by %s", object_with_expensive_to_string)

instead of

   logger.error("Caused by %s" % object_with_expensive_to_string)

This means debug messages are only formatted when they are enabled.
Improve logging for Last.FM import
Bugfix for not able to save if 'replacing existing folders' isnt checked
Do not continue with other attempts after verify
Update GitHub version detection.

When working in a seperate branch, Headphones keeps telling I'm 0 commits behind. This patch looks at the
'behind_by' key instead of 'total_commit', which is what is desired. The case with -1 is now obsolete.

The web interface now respects the 'headphones.COMMITS_BEHIND' property.
First attempt to replace logger methods with lazy evaluating version

Forgot to format the message
Add excepthook for verbose. Bugfixes

Enabled exception hook for all cases
More logger replacements.
Encoder logging and exception improvements

Forgot to escape

Bugfix