Add AWS utility functions from fmcv

@elliot42 This should also be included in a new version of `mcv`, if you're willing.
In Python-land, even if we don't depend upon `boto`, we (and should, I think) use Python-land interfaces to make HTTP requests, rather than shelling out.  `requests` is a pretty popular HTTP library:

```python
response = requests.get("http://169.254.169.254/latest/meta-data/" + key)
# you now have things like r.text, r.json() to get either the textual or JSON-parsed response value
return r.json()
```

http://docs.python-requests.org/en/latest/

The pros of using a Python-land library rather than shelling out:
- Don't need a dependency upon external state of commands--the Python packing process can guarantee that `requests` is present, as opposed to ensuring that `curl` exists on the system, which requires other tools
- You get a Pythonic interface/implementation in the code, rather than using the Python mostly as a bash script

It doesn't really matter in this situation, since the task is so simple, but in general I think the "philosophy" of MCV is that, when possible, it's better to define ops tasks in the language of Python, rather than the language of bash, or the language of Puppet/Chef/Ansible--otherwise we'd be writing the ops scripts in bash, Puppet, Chef, Ansible, etc.