ARROW-1581: [Packaging] Tooling to make nightly wheels available for install
ARROW-1581: [Packaging] Tooling to make nightly wheels available for install

Generates a GitHub page to a specific crossbow branch (typically gh-pages).

It creates two directories:

- [nightly](https://ursalabs.org/crossbow/nightly/): containing links for the nightly artifacts grouped by day and task, also creates a "latest" directory for the most recent nightly artifacts

- [pypi/pyarrow](https://ursalabs.org/crossbow/pypi/pyarrow/): compatible with the [simple PyPI repository specification](https://www.python.org/dev/peps/pep-0503/) so lets user install PyArrow with
    ```bash
    pip install -v --extra-index-url https://ursalabs.org/crossbow/pypi/ pyarrow==0.15.0.dev718
    ```

Gotchas:
- API rate limit: the script uses the GitHub API extensively so it can consume the rate limit pretty quickly
- GitHub API doesn't provide a checksum for the assets, so we cannot include them in the links

Follow-up work:
Run this on a daily bases, the simplest would be to execute after the nightly report via [ursabot](https://github.com/ursa-labs/ursabot/blob/master/projects/arrow/arrow/crossbow.py#L81)

Closes #6366 from kszucs/crossbow-wheel-pages and squashes the following commits:

b9d53f723 <Krisztián Szűcs> address review comments
53f44229e <Krisztián Szűcs> re-enable fetch
978519245 <Krisztián Szűcs> use separate github token for pushing and querying the api
b30b2c34a <Krisztián Szűcs> flake8
16dd3c90b <Krisztián Szűcs> use bullets
a601266c4 <Krisztián Szűcs> spare a couple of queries
a42d3bfe9 <Krisztián Szűcs> simple pypi repo
98ca5952e <Krisztián Szűcs> github page generator

Authored-by: Krisztián Szűcs <6bab32dc957a05a87930e779f272342e159326fa@gmail.com>
Signed-off-by: Krisztián Szűcs <6bab32dc957a05a87930e779f272342e159326fa@gmail.com>

cpcloud/arrow,cpcloud/arrow,cpcloud/arrow,kou/arrow,laurentgo/arrow,laurentgo/arrow,cpcloud/arrow,kou/arrow,kou/arrow,icexelloss/arrow,icexelloss/arrow,apache/arrow,xhochy/arrow,wesm/arrow,laurentgo/arrow,apache/arrow,laurentgo/arrow,icexelloss/arrow,kou/arrow,apache/arrow,kou/arrow,apache/arrow,wesm/arrow,cpcloud/arrow,apache/arrow,icexelloss/arrow,laurentgo/arrow,icexelloss/arrow,xhochy/arrow,wesm/arrow,icexelloss/arrow,icexelloss/arrow,wesm/arrow,wesm/arrow,xhochy/arrow,cpcloud/arrow,wesm/arrow,laurentgo/arrow,apache/arrow,laurentgo/arrow,xhochy/arrow,xhochy/arrow,icexelloss/arrow,cpcloud/arrow,kou/arrow,wesm/arrow,laurentgo/arrow,wesm/arrow,kou/arrow,wesm/arrow,wesm/arrow,icexelloss/arrow,apache/arrow,kou/arrow,laurentgo/arrow,icexelloss/arrow,xhochy/arrow,xhochy/arrow,apache/arrow,xhochy/arrow,wesm/arrow,laurentgo/arrow,apache/arrow,apache/arrow,cpcloud/arrow,apache/arrow,laurentgo/arrow,xhochy/arrow,wesm/arrow,apache/arrow,laurentgo/arrow,xhochy/arrow,xhochy/arrow,kou/arrow,cpcloud/arrow,laurentgo/arrow,laurentgo/arrow,kou/arrow,cpcloud/arrow,kou/arrow,wesm/arrow,kou/arrow,xhochy/arrow,xhochy/arrow,cpcloud/arrow,icexelloss/arrow,apache/arrow,icexelloss/arrow,wesm/arrow,laurentgo/arrow,kou/arrow,xhochy/arrow,cpcloud/arrow,icexelloss/arrow,cpcloud/arrow,apache/arrow,icexelloss/arrow,xhochy/arrow,kou/arrow,cpcloud/arrow