Upload updates

Build on the upgrade_to branch, which is still unmerged as well.
After thinking about this, you probably should do this at the top of the module:

```python
from os import makedirs
from errorno import EEXITS

UPDATES_DIR = read_env(
    "PYFARM_AGENT_UPDATES_DIR", join(tempfile.gettempdir(), "pyfarm-updates"))

try:
    makedirs(UPDATES_DIR)
except OSError as e:  # pragma: no cover
    if e.errno != EEIST:
        raise
```

A few reasons:
* Multiple processes (or requests in the current code) could try to access and create the directory at the same time so it's better to try and create the directory and catch the specific error condition instead.
* We should only try to create the directory or see if it exists once per process instead of once per request.