Update ok.py with a file content protocol and submission to ok-server

Changes in this branch include:
- a demo_assignment with the new test format
- updated protocol interface
- stateless ok.py that removes all personal info
- logic for finding and reading a _tests.py file containing assignment metadata
- partial implementation with TODOs for sending submissions to ok-server

Comments are most welcome. I think we're making steady progress toward an ok.py that can run tests and submit code. All other features can be added later.
Most of the heavy lifting for this has been done in #51.