more robust monitoring and recovery

reboot machine if api becomes unresponsive
added in a bunch of checks against the gpu information
email if hashing falls below threshold
improved config  handling