Fix token paste bug: don't lose tokens prior to paste in same macro.
Work around bug in Prosser's macro expansion algorithm. This is probably not
the best fix in the long term. The issue is that:

  #define x(a,b,c) a##b##c
  x(,,y)

would hit the special case for the LHS of ## being empty, and expand the ## to
the RHS. But that's also empty, so we end up looking at a ## having not yet
produced any tokens, and that doesn't work.