SSL client support

This supersedes #31. Compared to it,

> This involves significant updates for Rust and rust-http changes, especially the explicit ``IoResult`` stuff.

> I've restructured it quite a bit to better suit my notions of how it should be done, and also introduced a new ``./configure`` step before you can ``make``, which will detect OpenSSL or NSS (I bet that my NSS detection in ``configure`` is incorrect).

> The only change in runtime behaviour is that attempting to connect to an HTTPS site when not compiled with SSL support will return an error (of kind ``InvalidInput``) rather than silently, confusingly and dangerously (should the server accept it rather than rejecting it) sending plain text.

Actually, the NSS stuff is definitely broken (`_host` vs. `host` in the function). The question that remains is: will [rust-nss](https://github.com/mletterle/rust-nss) be fixed and maintained, or should NSS support be dropped?

cc @mletterle @metajack @brson @wycats @steveklabnik