Merge Cargo's curl-rust branch back in

A summary of the high level modifications:

* The libcurl library is now bundled
* A build script is now included (soon to land in Cargo) for building this library (defaults to detecting it on the system)
* SSL support is now explicit and `ca_path` and `ca_cert` now have defaults when enabled and necessary.
The first time this runs we'll actually make the directory, but all subsequent times the directory will already be there. I figured I'd just ignore this error and not bother checking if it's already there (we'll get more errors later during process spawning).