Remove TODO about parity checks for special forms.

This is a toy lisp, and adding parity checks for all the special forms
would just clutter up Eval. None of the special forms crash the
interpreter if passed incorrect arguments, as they just substitute nil
for missing args, and silently ignore any extra args.
Show the actual token string in BadTokenError messages.

Show the actual string read, rather than the symbolic name for the
token. For example, "foobar" instead of "Symbol" or "]" instead of
"BadToken".
Use ConstructWhat for TypeErrors instead of overriding Error::what().
Remove TODO about adding symbol-name to BadTokenError messages.