Event Progress bugfix
Autodetect Baudrate bugfix
Merge pull request #481 from Salandora/bugFixes

Bug fixes
UI now displays last print time as approx. total print time if available, otherwise uses estimated print time if available

Closes #523
Should fix #529
Trying to get large file uploads to work
Working streaming file upload for now
Introduced UploadStorageFallbackHandler which rewrites multipart file upload forms to store the contained files in temporary files (like nginx-upload), made the file upload API in OctoPrint utilize this
Finalizing upload streaming support

Major refactoring of octoprint.server.util (divided into smaller submodules), extended Tornado to allow for request-specific max content lengths, introduced settings parameters to configure maximum upload size, maximum request body size and file suffixes

See #455
Get default max body size from settings too
Fixed double file request after file upload causing autoscrolling to uploaded file to not work
We actually do want to run the configured system commands on the shell, so set shell to True

Also includes a workaround for sarge bug no. 21

Closes #489
Merge branch 'devel' into dev/largeFileUpload
First couple of print statements for debugging a Heisenbug
More debugging
And even more debugging
Also reset "otherRequestInProgress" if the request fails
Stop customized RequestHandler from sending another set of headers after the response

This was causing the GET request for the list of files following directly after a successful response from an upload to get associated with the second empty response sent directly after the upload and such lead to a funny timing issue causing the file list not to update correctly since the response to THAT request -- while received by the client -- could then not be processed.

See #455
Made the navbar static instead of fixed to improve usability on mobile devices

This is just a hack really, the proper approach would be to finally move to a real responsive design, but this should prove as a valid workaround until that is realized.

Closes #257 for now.
Reverse proxy wrapper now supports configuration of the http headers to utilize for determining prefix and scheme

Introduced two new configuration settings, server.reverseProxy.prefixHeader and server.reverseProxy.schemeHeader to define the headers to evaluate for prefix and scheme to use respectively, also moved server.baseUrl and server.scheme to server.reverseProxy.fallbackPrefix and server.reverseProxy.fallbackScheme.

Also fixed SockJS URI as generated in index.jinja to include BASE_URL.

 Should do what PR #507 intended, but with less code duplication.