Move 'isTerm'
Use 'lookupMeta' in 'applyPattern'
Add hashCode function for use with strings
Implement simple hash-consing of 'makeTerm'
Use hash-consing for O(1) time 'termEquals'