Test for permission in a way that doesn't always fail.
Fix JSON when identifiers have the same symbol.

Closes #65.
Don't generate JSON for syntax stuff.
Improve a few error messages.
Add a couple prims, fix string->symbol.
Handle the rest of the require forms.
Provide `contract` in #lang pycket.
structs: draft for properties, super fields inside instance
Merge branch 'master' into structs