Amending some of Dwight's comments on the first commit:
    - reverted the double comma from Ambiguity. Printing ambiguities into the backend needs to be handled a different way.
    - created getters for special production types.
    - created a getTerminatorKLabel in UserList to generalize the generation of the KLabel form of ListTerminators
    - split the regular expression for whitespace into 3 parts to make it more readable
    - various documentation improvements