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
Moved exception handlers to different methods

Improvements to exception logging
Logfixes for postprocessor
Expand subdirectories so discographies are handled
Fixed the album number detection. Added more debugging
Merge remote-tracking branch 'basilfx/savefix' into develop
Merge remote-tracking branch 'basilfx/postprocess_fixes2' into develop
Merge remote-tracking branch 'basilfx/gitfix' into develop
Merge remote-tracking branch 'basilfx/logfix' into develop
Merge remote-tracking branch 'basilfx/discography_fixes' into develop

Conflicts:
	headphones/postprocessor.py
Deleted the outdated TODO, moved all init scripts into a folder
Little bugfix to add REPLACE_EXISTING_FOLDERS to global vars in init.py