Added 'mock' dependency
Refactored main() into two separate functions.
Added documentation.
Added two tests for runner.py.