Fix reserved name check.

* According to the standard, reserved names that either begin with underscore
followed by a capital letter and a capital letter, contain 2 consecutive
underscores, or are part of the reserved keywords.
* The check was not working for function-like macros.
* The check could report errors if #define is used in commnets.
Fix correct include check if comment is right after file string.

The checker was incorrectly reporting issues if the name is specified in quotes,
and followed immediately (no space) by a comment.