Fix indentation in setup.py
testing configuration changes

Using tox to manage virutalenvs

using flake8 + plugins instead of various pytest plugins.

more things are checked (docstrings, pdb statements, pep8-naming, mccabe
complexity) along with the old checks (pyflakes and pep8)

the coverage report is not generated unless explicitly asked for

py.test configuration moved to tox.ini (py.test looks in tox.ini by
default, so you can still run py.test to run tests)
Test exception handling in more executors

had to mark multiprocessing executor as xfail (if --runxfail it will
timeout, not hang! (yay?))
fix #8 - Linux test failures on linux

default/builtin _add_callback_signalsafe is perfectly adequate
must disable invalid notifiers or they clog up the event loop
fix some logging invocations

Error messages will be clearer because exceptions won't be nested.
Uses {} formatting instead of % formatting
Better subprocess tests?

breaks down tests to into exec, read, and communicate

the simpler test case that just executes w/o reading stdout was easier
to debug.

testing communicate/sending data to a subprocess wasn't done before.

tests the high level and low-level subprocess APIs (which shouldn't
matter)
test configuration update : test PyQt/tox is working
docstring/style update