Began work on AST validation code

Implemented some functions that check if an AST represents a valid
crunch file (not all validators have been written yet). This required Eq
and Ord to be implemented for literals (to do it reasonably concisely),
which may not be optimal practice, needs further investigation.