WIP: Extract httpclient api

Pending how to best handle use of RemoteStorageContext which is the only bit of api here from core that is leaking in