Klass API and access policies

Includes the API pull request.

Also includes some extra stuff, like access policies for students, courses and schools and their specs.
Don't ask me why, but lambdas and uber callables receive different arguments from representable. Lambdas get the context on the `self` and instance or class + whatever as arguments. Uber callables get the context, instance or class + whatever as arguments.