Modified versioneer to allow specification of manual versions based on branches

You can now define a lookup file explicitely mapping virtual version tags to branches via regular expressions and a reference commit from which the commit distance will be calculated.

Format of the file is

  <branch-regex> <tag> <reference commit>

The file is processed from top to bottom, the first matching line wins. If <tag> or <reference commit> are left out, the lookup table does not apply to the matched branches and the regular versioneer resolution (via git describe) takes place.

Current configuration makes "master", "staging" and any branch starting with "fix/" make use the default behaviour, all other branches (so basically all development branches) are defined as "1.2.0-dev"
(cherry picked from commit 212f40c)
Versioneer now also returns and persists the branch from which OctoPrint was installed

Changed version output accordingly to now display "{version} ({branch} branch)" if branch information is available (which should be the case if installation was performed from git).
(cherry picked from commit a48b5de)
Renamed RELEASE-NOTES.md to CHANGELOG.md, added note regarding new version format
Properly unset job data when instructed so by callers

Closes #580
Forgot entry in changelog
Also allow downloading .g files via Tornado

Regex so far only matched .gcode and .gco, files ending just in .g are expected for upload as well though, so this needed to be adjusted
Update CHANGELOG.md
Enable API by default and automatically generate API key on first server startup
Enable event subscriptions by default
Added changelog entry
Properly initialize settings dir

Since config.yaml gets now saved on server startup before settings basedir gets initialized by other means (e.g. first access of base folder for uploads), it was not created yet when the config.yaml was tried to be saved upon first start up, causing an error at server startup.

Closes #604
Forgot changelog entry again
Updated contribution guidelines

We sadly still need to be more clear that tickets need to adhere to certain standards to be manageable...
Generate the key used for session hashing individually for each server instance
(cherry picked from commit 118a4f7)
Generate the salt used for hashing user passwords individually for each server instance
Preparing release of 1.1.1
Fix missing branch field in DEFAULT dict

Should fix an error raised on line 951 (SHORT_VERSION_PY % DEFAULT) during Octoprint setup when there's no version info. More info here: https://groups.google.com/forum/#!topic/deltabot/8udyUsJ1c9M
Fixed a couple of more missing branch fields and added Changelog entry
Merge branch 'Wallacoloo-master'
Encoding has to be specified before any other line of code