Generalize http layer - DO NOT MERGE THIS

This is just for discussion on how you might implement a solution to https://github.com/fog/fog-core/issues/19.  Basically all the responses from the http client are wrapped, and all the responses themselves are a class within fog core.   Discussion on this issue has raised a number of issues and I wanted to throw my two cents in.