make sure we set a context when using Ion
rename HttpRequestImpl to HttpEngine
move more code in the engines
Split the data more between the query info, the server response metadata and the HTTP engine
make the BaseHttpEngine strongly tied to its HttpResponse type