Requests support

Hi,

as discussed before. Note that I've created a new SSL certificate because requests verifies the host name by default (otherwise a whole aspect of HTTPS is undermined). The certificate included is valid for 'localhost'.

I've also included tests for redirection (forgot to mention in the commit message).

These changesets pass pep8, small and medium tests on my machine.
Sure.

Another approach would be: return the exception in the result, instead of the string representation of the exception. Then the front-end (console or GUI, or whatever) can decide how to present the error to the user on a case-by-case basis, instead of just receiving an opaque string and passing it along. In any case that would be a different change, so I'll go along with how we do it now and put in a friendlier string.