Move client Test classes to models/core.py
Create PythonTestCase in client.
Add GradedTestCase interface; rewrite grading_test.py
Add UnlockTestCase interface; rewrite unlock_test.py
Initial commit of ConceptTestCase
Create client/protocols/ directory
Resolve imports in client/
Move client protocol tests into tests/protocols/
Add client/tests/models/python_test.py
Remove OkConsole; python_test.py passes
Rename models/ files
Add documentation to client
Fix typo in tests/protocols/unlock_test.py
Add more client documentation.
Merge branch 'master' into test-interface

Conflicts:
	client/grading.py
	client/tests/grading_test.py
Fix some client pylint errors
Move references to frames in client to PythonTestCase
Add logger as an argument to on_unlock in client
Minor client refactoring
Rename models to have _case suffix