A series of improvements to models, testing, introspection, and the testrunner admin example

Hynek Cernoch has been doing some great stuff he describes in #11, but hasn't made a pull request yet, and I wanted to be able to start reviewing the patch ASAP. I hope this isn't jumping the gun, but in hopes of making things easier for everybody I made this branch/pull request.