Changed lookahead design so that returning the set returns an immutable view, and added a couple methods for adding additional lookahead symbols (single and macro). Now enforcing the rule that lookaheads cannot be removed once added.