Improve errata_upgrade task

Finish missing automation parts of errata_upgrade.

This is the follow up of the #103
The purpose of this `break` is to make the loop end so that the function can end and return `None`. Right? If so, the loop could be rejiggered a bit:

```python
while timeout >= 0:
    try:
        ...
        return None
    except socket.error as err:
        ...
    finally:
        sock.close()
    timeout -= ...
print('Timed out while waiting for machine to reboot.')
sys.exit(1)
```