robot: Properly bail out if response is invalid.

This usually only happens if you - for example *cough* - try to guess
undocumented API functionaly but might come in handy for nicer error
handling in case the Robot API gets an update.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
robot: Provide a small scraper for the web UI.

Some functionality isn't available at the official RESTful API yet, so
this adds a small helper for scraping data off the Robot's web
interface until there is an official implementation in the RESTful API.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
server: Provide ability to create admin accounts.

As mentioned in the previous commit, this is implemented by using the
web *user* interface, which also means, that you only can create admin
accounts if you provide your real Robot credentials instead of the
separate webservice credentials that can be created in the Robot.

This somehow reminds me a bit about chroot() & companions where you had
to get root in order to restrict the process further. :-)

Also, the admin property is designed to be loaded lazily, so scraping
will only be used if you actually try to access the 'server.admin'
property.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
robot: Validate SSL certificates, closes #2.

We now have a hard-coded CA certificate for Thawte's premium server CA
(used for EV certificates and similar stuff) which is used to validate
the robots certificate.

Of course the inlined certificate is wrapped at 79 chars to comply to
PEP8.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Bump version to 0.4.0.

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