Merge pull request #1 from yurug/master

* Fix a bug in the OCaml pretty-printer.
First big commit.
Eliminate problems with lexical syntax of generated code.
Progress on instances.
Better .gitignore.
Unreachable constraints are verboten.
Fix formatting issue in test log output.
Fix test.
Handle context canonicity and namespace segregation.
Fix test (again).
Overlapping instances.
Further improvement to .gitignore.
Fix behaviour of bind_instance.
Increase coverage of the name segregation handling mechanism.
Fix a single TODO.
Delete changelog.
foo
foo.
Another useless commit to artificially inflate my GitHub stats.

Actually, I just forgot to add something.
Progress on documentation.