Add a Process.run() method

This separates the process execution logic from the constructor.
Use hooks and encapsulation to implement filters

Instead of having a single process class which changes its behaviour
depending on its configuration, have two single purpose classes which
are specialised for the roles.
Minor refactor to use join method rather than loop
Add a simple working process test
Generate test coverage reports

Use the coverage package to generate test coverage reports, and
incorporate those into the Travis CI test script invocation.

    https://pypi.python.org/pypi/coverage

Executing this command from the project root will generate a HTML test
coverage report for srtime, available at cover/index.html.

    nosetests --with-coverage --cover-package=srtime --cover-html

Issue #8.