Added an abstract class in the heirarchy between SyntaxElements and pi calculus terms called Term, su so that Names cannot be passed as parameters where terms are required. As such, names are not a subclass of this new abstract class, called Term.