Small bug fixes in library. Added example type checker.

The computeType method of the TypeChecker trait now uses a correctly
parameterized application of the resulting substitution. Additionally,
all solvers and flattening strategies are now traits.