Communicator locks reintroduced to prevent collisions in the machine. Some were observed before. There should be no unhandled expections in the server anymore. When sends and queries from the controller fail, they now will return False. The controller can see these returns and tell whether its functions were successful or not. So far, I have not changed the function loop to take this into account: it will keep trying to ramp/change the pid.

Extra states ramp up/ramp down were added to remove ambiguity in the ramping state. start_regulate was also added to ramp to a minimum regulate current. The regenerate loop can now be killed with the quit_command_loop flag, which is raise when standby is requested (so the stop button of the gui really stops the loop now).