Refactor the tests into their own directory.

Run these with a WD of either tests/ or / and it'll work, since
tests/__init__.py sets up the search path accordingly.

This is a cherry-pick for merging with feature/new-patcher in a PR.

Conflicts:
	tests/fa/test_check.py
	tests/git/test_repository.py
	tests/git/test_version.py
Remove failing tests
Initial version description
Add classdoc
Add ref,hash,repo to Version
Add has_version
Be consistent with assertions
Naively convert featured_mod_versions hashes

This is pretty brittle, but I'm guessing it'll work for most patches.

It certainly beats actually keeping the current patcher around.
Use a triple for describing specific fmod versions
Add fa-coop
Make featured.py use git/version
Make it an error to check out unknown versions
Fake it 'til you make it
Rebase onto refactor/tests
Remove duplicated function
Add new class for representing the gameversion
Document how to run. Closes #92
Add runtests.py and how to run it in readme
Add missing featured mods
Ignore uid.dll