Fix C file detection.
Handle some macro rescanning cases.

This allows handling the case of objectLikeMacro expanding to the name of a functionLikeMacro, which is then followed by arguments:

  #define FOO BAR
  #define BAR(x) bar(x);
  FOO(0);
Implement complete rescanning.

Handle more rescanning cases, e.g. when more than one token is output.