Always interpret negative duration as 0.
Always interpret negative duration as 0.

Negative durations, especially for print time left, might arise if estimation is estimating less than current print time. So we just erase that margin of error in the UI.

Closes #435

masterhou/OctoPrint,AstroPrint/AstroBox,Javierma/OctoPrint-TFG,uuv/OctoPrint,EZ3-India/EZ-Remote,Jaesin/OctoPrint,alex1818/OctoPrint,Mikk36/OctoPrint,beeverycreative/BEEweb,mayoff/OctoPrint,masterhou/OctoPrint,mcanes/OctoPrint,ymilord/OctoPrint-MrBeam,MoonshineSG/OctoPrint,AstroPrint/AstroBox,Jaesin/OctoPrint,Mikk36/OctoPrint,shohei/Octoprint,SeveQ/OctoPrint,abinashk-inf/AstroBox,jneves/OctoPrint,masterhou/OctoPrint,ymilord/OctoPrint-MrBeam,punkkeks/OctoPrint,dansantee/OctoPrint,dragondgold/OctoPrint,dansantee/OctoPrint,eddieparker/OctoPrint,Salandora/OctoPrint,ymilord/OctoPrint-MrBeam,abinashk-inf/AstroBox,nicanor-romero/OctoPrint,EZ3-India/EZ-Remote,jneves/OctoPrint,Skeen/OctoPrint,dragondgold/OctoPrint,madhuni/AstroBox,foosel/OctoPrint,nicanor-romero/OctoPrint,Jaesin/OctoPrint,Skeen/OctoPrint,chriskoz/OctoPrint,eliasbakken/OctoPrint,Mikk36/OctoPrint,chriskoz/OctoPrint,Javierma/OctoPrint-TFG,Jaesin/OctoPrint,ErikDeBruijn/OctoPrint,MaxOLydian/OctoPrint,ryanneufeld/OctoPrint,shaggythesheep/OctoPrint,dragondgold/OctoPrint,bicephale/OctoPrint,AstroPrint/AstroBox,nickverschoor/OctoPrint,Voxel8/OctoPrint,shohei/Octoprint,sstocker46/OctoPrint,bicephale/OctoPrint,mayoff/OctoPrint,alex1818/OctoPrint,ryanneufeld/OctoPrint,shohei/Octoprint,MoonshineSG/OctoPrint,MoonshineSG/OctoPrint,Salandora/OctoPrint,bicephale/OctoPrint,SeveQ/OctoPrint,Skeen/OctoPrint,madhuni/AstroBox,senttech/OctoPrint,madhuni/AstroBox,markwal/OctoPrint,spapadim/OctoPrint,MaxOLydian/OctoPrint,markwal/OctoPrint,JackGavin13/octoprint-test-not-finished,leductan-nguyen/RaionPi,JackGavin13/octoprint-test-not-finished,alex1818/OctoPrint,chriskoz/OctoPrint,uuv/OctoPrint,CapnBry/OctoPrint,mcanes/OctoPrint,beeverycreative/BEEweb,ErikDeBruijn/OctoPrint,Javierma/OctoPrint-TFG,leductan-nguyen/RaionPi,shaggythesheep/OctoPrint,uuv/OctoPrint,Voxel8/OctoPrint,MoonshineSG/OctoPrint,jneves/OctoPrint,eddieparker/OctoPrint,ymilord/OctoPrint-MrBeam,ymilord/OctoPrint-MrBeam,Javierma/OctoPrint-TFG,markwal/OctoPrint,madhuni/AstroBox,abinashk-inf/AstroBox,leductan-nguyen/RaionPi,mrbeam/OctoPrint,CapnBry/OctoPrint,foosel/OctoPrint,mayoff/OctoPrint,EZ3-India/EZ-Remote,Salandora/OctoPrint,MaxOLydian/OctoPrint,JackGavin13/octoprint-test-not-finished,punkkeks/OctoPrint,CapnBry/OctoPrint,shohei/Octoprint,senttech/OctoPrint,dansantee/OctoPrint,beeverycreative/BEEweb,nicanor-romero/OctoPrint,chriskoz/OctoPrint,nickverschoor/OctoPrint,nickverschoor/OctoPrint,beeverycreative/BEEweb,senttech/OctoPrint,EZ3-India/EZ-Remote,punkkeks/OctoPrint,eddieparker/OctoPrint,shaggythesheep/OctoPrint,abinashk-inf/AstroBox,JackGavin13/octoprint-test-not-finished,ryanneufeld/OctoPrint,mrbeam/OctoPrint,javivi001/OctoPrint,CapnBry/OctoPrint,spapadim/OctoPrint,eliasbakken/OctoPrint,ErikDeBruijn/OctoPrint,sstocker46/OctoPrint,shohei/Octoprint,mcanes/OctoPrint,mrbeam/OctoPrint,nickverschoor/OctoPrint,SeveQ/OctoPrint,leductan-nguyen/RaionPi,spapadim/OctoPrint,sstocker46/OctoPrint,ryanneufeld/OctoPrint,Salandora/OctoPrint,senttech/OctoPrint,bicephale/OctoPrint,foosel/OctoPrint,javivi001/OctoPrint,Voxel8/OctoPrint,foosel/OctoPrint,javivi001/OctoPrint,eliasbakken/OctoPrint