Cancelable Future from AsyncHTTPClient (for SimpleHTTPClient)

This is a draft that will make the Future returned by the `AsyncHTTPClient` cancelable when the underlying implementation makes it possible.  In this particular case, it only makes that connection with `SimpleHTTPClient`.

This should make a solution to tornadoweb/tornado#157.

I'm sure it could use some more love and definitely more eyes, and I'm open to improving it as my use grows and I have some more time with it.