Guarantee the tarball output directory

This allows me to specify the following json:

```json
{
  "openresty": {
    "luarocks": {
      "version": "2.1.2",
      "url": "https://github.com/keplerproject/luarocks/archive/v2.1.2.tar.gz",
      "checksum": "4dc3fd9ad73cf9b396f98f3b078eaf41f6d7894b6e2b7d05bbff0d8c11484a01"
    }
  }
}
```

Now I can install luarocks again even though luarocks.org is down.

The core issue was that even though the github download url ends in `v2.1.2.tar.gz`, the resulting downloaded file is actually named `luarocks-2.1.2.tar.gz` and creates a directory named `luarocks-2.1.2`.