Refactor docs and related changes.

* Rename `requirements-unpinned.txt` to `requirements.txt`. The output
  from `pip freeze` doesn't work without manual editing anyway, so we
  might as well just maintain one file by hand.
* Move changelog into `docs` folder.
* Move project docs out of `README.md` and into `docs/index.md` and
  leave a link to it instead, so we can still click through from the
  GitHub front page.
* Remove environment-specific files from `gitignore`.
* Add `contributing.md` to docs, including sections on Gitflow, code
  style, documentation, tests and releases.