* Zeroconf logging improvements
* Ignore RuntimeErrors in background threads - Prevents issues during shutdown
* Migrate start up code from api_server.py to init.py
* Add error handlers to the API server to handle detached instances
* Integrate RenderQueue eval loop into RenderQueue object
* Silently catch RuntimeErrors on evaluate_queue
* Stop background queue updates in prepare_for_shutdown
* Force start in render queue only starts NOT_STARTED and SCHEDULED jobs
* Refactor adding jobs / subjobs
* Remove dead code
* Fixed issue with bulk job submission
* Cancel job now cancels all subjobs
* Misc fixes
* JSON now returns job hostname
* Add hostname as optional column in DB
* Misc fixes
* Error handling for removing zip file after download
* Clean up imports
* Fixed issue where worker child information would not be saved
* Add benchmark.py
* Add cpu / disk benchmark APIs
* Add cpu_benchmark method to distributed_job_manager.py
* Do a better job of storing hostnames =
* Remove hostname from Zeroconf cache if server goes offline
* Add cpu / disk benchmark APIs
* Add cpu_benchmark method to distributed_job_manager.py
* Do a better job of storing hostnames =
* Remove hostname from Zeroconf cache if server goes offline
* Wrap main code in try finally block to always stop zeroconf
* Add missing import
* Initial commit for new UI
* Initial commit for new UI
* WIP
* Status bar updates and has an icon for online / offline
* Add log_viewer.py
* Use JSON for delete_engine_download API
* Fix class issue with Downloaders
* Move Config class to new ui
* Add engine_browser.py
* Add a close event handler to the main window
* Fix issue with engine manager not deleting engines properly
* Rearrange all the files
* Add icons and resources
* Cache system info in RenderServerProxy
* Toolbar polish
* Fix resource path in status bar
* Add config_dir to misc_helper.py
* Add try block to zeroconf setup
* Add add_job.py
* Add raw args to add_job.py