Fix #77: better handling of "block" syntax and "non-GNU" preprocessor flags

 - Remove "--no-blocks" and "--no-gnu" command line options.

 - Undefine __BLOCKS__ preprocessor symbol always (our C parser
   doesn't understand this syntax so we can never deal with it
   correctly).

 - Add {#nonGNU#} directive to signal that GNU-specific preprocessor
   symbols (__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) should be
   undefined during processing of a CHS file.