Add new YAML for new quesiton type
Add GetValue question

This turned out to be a gigantic project in and of itself, and requires
a hell of a lot of under-the-hood modification. Featured here are:

- Extensive subclassing of code.InteractiveConsole
- Hacking codeop.CompileCommand to give us precedence
- Double-parsing user input, once with AST
- Modifying ASTs on the fly to add callbacks directly into user code
- Generators!