Initial testing framework using py.test.

Store golden standards in /tests/ReplayData/.
Use a tmp directory for every test.
Set of mock repos for testing is stored in tests/MockRepos.tar.gz.
Add test for help output.
Refine testing. Add more tests.
Merge branch 'master' into tests
Factor out utility functions into separate file.
Write more record tests. Shorter filenames for standard files. Set git repo filemode false.
Distribute tests over several files. Update project file.
Fix Pylint warnings.
Finish record tests for now. Create stub files for other tests.
Adapt .gitignore.
Add testing info to the Readme.
Wrap tests in classed for more organization.
Disable autouse for set_up so that help tests don't generate unnecessary files.
Add session setup and teardown fixtures.
Add info about generating coverage information.

Finally it works, at least in the console. 
In Eclipse, there's still strange warnings:
- Coverage.py warning: Module ofStateManager.py was never imported.
- Coverage.py warning: No data was collected.
Minor fixes. Add some record tests.
Minor fixes. Add some record tests.
Apparently --quiet is not 100% reliable. Use --exit-code instead, dump output.

Using --quiet only gave correct exit status on a second run of the 
git diff --quiet HEAD command!
Finish record tests. Remove coverage info from README for now.
Add coverage-running script.