tox: add `cover` tox config

This configuration adds command-line test coverage reporting.
tox: add doctest flags to test configs

This adds missing --doctest-modules flags to a few test configurations
to ensure that we always collect doctests from the zpmlib source code.
tests: move tests/ package into zpmlib package
test_commands: fix a pep8 line spacing issue
.coveragerc: add cov config to ignore zpmlib.tests

The code in the zpmlib.tests package shouldn't be taken into account in
the measure of code coverage.
test-requirements.txt: add `sphinx` dependency

Technically, the tests do not require sphinx to run; this is only needed
for doc generation.

However, due to the way `py.test --doctest-modules` functions, _all_ .py
files are scraped for doctests, including doc/conf.py. There is no
option (that I could find anywhere) of excluding specific files. (Note:
--doctest-glob also doesn't help because it's meant to collect doctests
defined in text files. What we want is to collect doctests from code
docstrings.) Since --doctest-modules imports the modules it scrapes for
tests, any import directives at the head of a module will be run, and if
a dependency is missing, you get an error. This is roughly the error we
were getting:

-----ERROR collecting doc/conf.py-----
doc/conf.py:17: in <module>
>   from sphinx.ext import autodoc
E   ImportError: No module named sphinx.ext

This change fixes that.
tox: fixed duplicate collection of tests

The `--doctest-modules zpmlib` directives were false, and causing tests
to be collected and run twice.