Add skipped token tests.
Have the parser give real positions for empty tokens.

Previously this was difficult because we didn't know where empty tokens
would go due to the presense of skipped tokens.  Thanks to the recent
work i did to place skipped tokens on the *next* real token we hit, this
became much simpler.