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
Merge branch 'master' into devel
Updated contribution guidelines

We sadly still need to be more clear that tickets need to adhere to certain standards to be manageable...
Pause button now changes icon when paused to indicate "Resume" state better, also added tooltips

Updated german translation accordingly, other translations will have to follow once the community translates the new strings.
Automatically cancel running slicing jobs targeting the same output file if a new slicing request is received

This way there won't be two concurrent jobs trying to slice to the same file, which would practically render the cpu cycles from any slicing jobs than the final one wasted. Also adds a new event "SlicingCancelled" that will be sent in these cases.
Cache metadata in an LRU cache instead of fetching it from disk everytime
Parse slicing progress from Cura and provide it on sock.js socket

 UI for now displays it in the "Slicing" progress bar text.
Added logging of CuraEngine output to Cura plugin

Should hopefully help debugging issues where the slicer appears to not be doing anything.
Do not try to slice on local slicers when printing

Since slicing takes a lot of resources, that might lead to quality loss for the print job.
More error resilience in regards to defined printer parameters when converting the slicing profile for Cura
Fixed a typo breaking slicing altogether
Fixed gcode analyzing after file upload
Merge pull request #625 from imrahil/gcode_analyzer_fix

Fixed gcode analyzing after file upload
Added changelog entry for bugfix
Keep track of files that are currently being used (file being printed, source and destination for slicing) so that they can't be deleted

Also added logging to exception branches where the exception was formerly just swallowed.
Automatically refresh slicing profiles in slicing dialog when profiles are added or removed via the Cura plugin settings
Properly reselect default slicer and profile in slicing dialog after sending a slicing request
Make "Slicing done" notification green

Implements #558
Don't die if you're not able to log a print (e.g. for prints from SD)