Factor out exceptions into hetzner/__init__.py.

This should remove the duplication of the code in the two modules and
should also make it easier to share exceptions in a common place.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
server: Correctly handle no available subnets.

Usually one would expect for the /subnet request to return an empty
list. Unfortunately, a HTTP 404 is returned, so we just inject an empty
list whenever this happens.

Thanks to @devhell for reporting.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>