Copy robottelo.api.client to nailgun.client

Make some minor changes to the module-wide docstring while copying over code,
but otherwise, leave the code exactly as it is in Robottelo commit
0f0b374b620025a619e020b921aaee33a536aad0.
Add unit tests for `nailgun.client`

Copy unit tests from Robottelo's `tests.robottelo.test_api_client` module and
make some minor adjustments to imports and paths as necessary. Unit tests pass:

    $ python -m unittest discover --start-directory tests --top-level-directory .
    ..............No handlers could be found for logger "nailgun.client"
    ................
    ----------------------------------------------------------------------
    Ran 30 tests in 0.006s

    OK

The warning above is due to a mis-configured logger, and that can be addressed
in a separate commit.
Make it easy to run linters and unit tests

Add a make file containing the following targets:

* help
* lint
* test

List out development dependencies in `requirements-dev.txt`. Mention both the
make file and requirements file in the readme.

Both the linters and unit tests pass:

    $ make lint
    flake8 .
    pylint --reports=n --disable=I nailgun tests setup.py
    No config file found, using default configuration
    $ make test
    python -m unittest discover --start-directory tests --top-level-directory .
    ..............No handlers could be found for logger "nailgun.client"
    ................
    ----------------------------------------------------------------------
    Ran 30 tests in 0.006s

    OK

Fix #8.
Add `tests` directory to `make lint` command

Add a `pylint:disable` directive to a block of code that should not be fixed in
any way. `make lint` now passes under Python 2, but issues a few more pylint
warnings under Python 3.
Add `setup.py` file

`setup.py` is "a setuptools-based script for installing NailGun."

Both source distributions (eggs) and built distributions (wheels) pass a quick
sanity test:

    $ virtualenv .env2 --python=python2
    $ source .env2/bin/activate
    $ pip install ~/code/nailgun/dist/nailgun-0.0.1.tar.gz
    $ python -c 'from nailgun import client; print(client.get("http://www.ichimonji10.name").status_code)'
    200

    $ virtualenv .env2 --python=python2
    $ source .env2/bin/activate
    $ pip install ~/code/nailgun/dist/nailgun-0.0.1-py2-none-any.whl
    $ python -c 'from nailgun import client; print(client.get("http://www.ichimonji10.name").status_code)'
    200
Build out documentation

Add a top-level `docs` directory. Add both manual and API documentation to this
directory. Make sure that documentation is correctly generated. Make sure that
`docs/conf.py` is linted by the `lint` make file target.

Add two new rules to `Makefile`:

* `docs-html` calls `html` in `docs/Makefile`
* `docs-clean` calls `clean` in `docs/Makefile`

Make git ignore `/docs/_build/`.

Fix various Sphinx directives throughout the code base so that `make docs-html`
can execute with zero warnings.

Move the contents of `README.md` to `docs/index.rst`. This will be a hindrance
to users in the near term, but the final result will be positive once
documentation is made available on ReadTheDocs.

Fix #6.
Add a Travis config file

The travis config file is very minimal and will need to be fleshed out over
time:

* Support for Python versions other than 2.7 should be added.
* Travis should automatically collect coverage statistics.
* Travis should automatically run doctests, once doctests are added to the
  documentation.

For now, though, this is good enough to get started with.

Fix #9.