Designate some dependencies as optional

Split `requirements.txt` into two files:

* requirements.txt
* requirements-optional.txt
Merge pull request #871 from Ichimonji10/requirements

Designate some dependencies as optional
Deduplicate and rewrite documentation

The readme file is essentially duplicated. Highly similar content exists at both
`README.md` and `docs/index.rst`. This is problematic: it's hard to maintain two
copies of similar documentation. This makes it easy for errors to creep in, and
demotivates developers from writing documentation. Additionally, the
documentation in the readme could use more polish.

This commit contains the following changes:

* Delete README.md, and create a sylink pointing from README.rst to
  docs/index.rst.
* Rewrite docs/index.rst. Make it include the information formerly provided
  by README.md, add a link to the docs/createtest.rst file, and generally
  rewrite the file for easier reading.
Remove outdated documentation
Merge pull request #869 from Ichimonji10/docs

Docs
Add API information to documentation

Add a recipe to docs/Makefile. The recipe, "genapidocs", generates API
documentation directly from source code. Make "genapidocs" a dependency of every
other documentation generation command. Make the main documentaion page,
docs/index.rst, point to the API docs.

foo
Merge pull request #872 from Ichimonji10/apidocs

Add API information to documentation
Add script for linting application with Pylint

Also update the documentation with instructions for using the script.
Remove useless pylint config file

The Pylint config file is useless for several reasons:

1. It is unused by `lint.py`.
2. It does not set any especially useful or interesting options. In fact, it
   sets options in a way that are actively harmful. For example: disabling all
   warnings!
3. Inline Pylint directives (e.g. `pylint: disable=W0262`) are likely to be
   sufficient for customizing the behaviour of Pylint.
Merge pull request #873 from Ichimonji10/pylint

Pylint
Remove unused make file.

Stale code is bad. If a `make.bat` file exists in a project, it indicates that
the project is compatible with Windows. That is likely not true in the case of
Robottelo, leading to false expectations.
Merge pull request #874 from Ichimonji10/stale-code

Remove unused make file.