Optimize negative string length check.

Strings with a constant &length expression can be checked for negative
length values while generating the parser instead of in the parser
itself (which likely just ends up being dead code).
Generate initialization code for external types.

Numeric/pointer types can be initialized to 0.
Fix uninitialized (or unused) fields.
Merge remote-tracking branch 'origin/topic/jsiwek/coverity'

* origin/topic/jsiwek/coverity:
  Fix uninitialized (or unused) fields.
  Generate initialization code for external types.
  Optimize negative string length check.