Added sanity check for extruder selection in gcode files

Any T command targeting a number higher than the value specified in the settings for gcodeAnalysis.maxExtruders (defaults to 10) will be ignored and trigger a warning in the log file.

Fix for #539
New option to set default extrusion length in Control panel

Adds a new config key printerParameters.defaultExtrusionLength which can be configured via the settings dialog in the Printer section and then gets used to set the placeholder value on the extrusion/retraction control and as fallback if the user entered no value when clicking the Extrude/Retract button.

Closes #513
If a tool did not extrude anything, skip it in the filament usage summary

Also targets #539
Don't overwrite query string of webcam URI

If there's a query already present, just append the timestamp to it with a & in between instead of creating a new query.
(cherry picked from commit 51c77be)
Moved development requirements to a different file

We don't need nose, mock and sphinx + dependencies on pure runtime installations
Removed unused code
Added two file headers
Correctly check for null values and don't try to access non existing keys

Fixes #544
Pinned tornado to 4.0.0

4.0.1 is currently causing issues with OctoPrint, this is a quick fix for that until I have the opportunity to investigate this further.

Workaround for second issue in #544
Resolved issue with tornado 4.0.1 (incompatibility between existing and custom http1connection implementation)

Compare #544 and #546. Pinned tornado version to 4.0.1 (since the change in this commit is not backwards compatible), dependency update is mandatory.
add serial types for OpenBSD
Merge pull request #551 from qbit/devel

add serial types for OpenBSD
Make watched folder configurable via UI
Merge remote-tracking branch 'remotes/foosel/devel' into devel