Added a polymorphic list equality function that ignores duplicates.
Added support in the Lexer for wildcard variables.
Fixed a bug where the parser failed on empty lists.
Added a print function that for terms that doesn't pretty-print lists. Added a function for printing all bindings in a Unifier, and fixed a bug in printAllBindings where term-term bindings caused an infinite loop.
Added a unit test for testing equality of non-round floats.
Altered the validation of unifiers to iterate if the validation generates new bindings.