add new sections to docs and installation

sections added:

* Contributing
* Credits
pep8
add missing requirements file for contributors
extra environments for tox
use tox environments instead of travix matrix

also use coveralls
add Makefile for developer convenience
add coverage configuration file
use built-in coverage mechanism. ref e89c1c5
revert back to travis matrix and nosetests
Merge pull request #60 from slafs/docimprovement

Coverage, lint and docs
Don't use "-w", and just set default posargs

This sets the right default report for coverage (it doesn't include the
omitted `honcho.compat`) and allows overriding which tests to run.
Check for PEP8-compatible naming

Install a flake8 plugin to check for PEP8 naming convention
compatibility.

Only one "error" in the code base that I think is an instance of
pep8-naming actually being wrong. While __new__ is not a class method,
it's also not an instance method (it's a static method) and so should
have "cls" as its first arg, not "self".
Compute coverage with the environment python

Calling tox -e coverage will cause tox to create its own python
environment for coverage, and we'll be computing coverage 5 times for
Python 2.7.

Instead (and I know this ends up duplicating things between .travis.yml
and tox.ini, but I really don't think there's a better way) install the
necessary packages and just compute coverage while running the tests.
This should also result in shorter test runs on Travis.
Compute branch coverage when testing