Update with caching and multi-cloud support

Hey Patrick!

I added some more features on top of this branch to allow for local caching (inspired by the ec2 module) and also allow for configuring multiple cloud endpoints. I've tested running this against the Infra production cloud endpoint and it works pretty well.