robot: Add debug logging to request methods.

This should give the majority of information about what's being sent and
received to and from the Robot and is mainly useful for debugging during
development.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
server: Factor out reset control into own module.

This in in preparation for getting in separate reset backends not only
using the Robot but also for things like controlling the iDRAC on Dell
servers and IPMI-like implementations that might come in future server
generations.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
server: Add logging for observed_reboot().

This is one of the main reasons we want to have logging, because a
"hetznerctl rescue <server>" usually prints nothing until we either have
a shell or we timed out waiting for the machine to come up.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
server: Use logger named after server number.

This should make it easier to see which server the log message actually
is for.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
hetznerctl: Enable logging for INFO messages.

This should at least make observed_* actions a bit more visible and we
can easily switch between logging levels.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
util: Move address parsing into util.addr.

We're going to have more stuff in util, so it makes sense to separate
namespaces a bit.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Merge branch 'logging', closes #14.

Although the logging implementation isn't complete, we now at least have
logging for observed_* stuff and debug logging for raw robot requests.

Conflicts:
	hetzner/server.py