Updated dependency on either to 4.3.2 (to support Data.Either.Validation)
Updated readme to reflect refactoring
Term.Subst is an internal module.
Set up infrastructure for contextual clauses.
Treat meta-vars and names definitions even more uniformly.
Make reduction in `eliminate` configurable.

It's not strictly necessary, and I wanted to know how it affects
performance -- it turns out that it's better with S and GR to not reduce
when eliminating.