Enabled proper python coverage testing.

Added virtualenv support to build process.

Abstracted out "testing host" and "testing port" ideas from individual tests.

Create "startup" and "shutdown" targets, for manual use with tests.

Closes #271
Merge branch 'python-coverage'