Nicer error logs, pylint & run order change

 - Pylint the codebase to make things nicer to read, & fix some landscape.io errors. 
 - Make the full traceback & step appear in the error log file/email/stderr
 - Run lamps before cabinets to stop "eclipse" conditions occuring.