adds headers config option for S3 cache

'headers' is an optional metadata dictionary containing key/value header pairs that will be set on each saved tile, e.g. 

    {
        "cache": {
            "name": "S3",
            ...
            "headers": {
                "Cache-Control": "max-age=25200, public"
            }
        },
        ...
    }
Use `dict([(k, v) for k, v in d])` instead of dict comprehensions, otherwise we lose support for Python < 2.7.