Add dependencies to package metadata

Add the following packages to requirements.txt and setup.py

* tox
* py.test
* sphinx
* flake8
* coverage

Fixes #1 on github
Add a .gitignore to ignore generated files

This comes in handy for development.
Split optional dependencies and test dependencies
Add pytest-cov and specify minimum versions

According to discussion on https://github.com/cosmo-ethz/hope/pull/2
we should specify minimum versions not exact versions.
Also, I missed pytest-cov in the tox file.
Merge pull request #2 from iankronquist/additional-dependencies-1

Additional dependencies in requirements.txt and optional dependencies in setup.py