Fix pos off by one error in tokens.

pos for first char on line is 1, not 0.
(This was fixed elsewhere, but not in tokens).
Improves the wording of NAME_WITH_HYPHEN issue
Modifies labels to use lower case form - e.g- 'if' statement.

This is done for labels that start with punctuation and keywords,
but not for labels that are nouns/titles; e.g. 'Resource Override'.
Add labels for QualifiedName and QualifiedReference.
Fix validation of 'hyphen in name'
Improve error feedback, fix issues.

File information was not picked up.
Origin information was not associated with the root element.
Improves documentation.
Fixes issue in Origin with URI generation.

Adds settings for max_errors and max_warnings (default 10).
If multiple errors warnings are found these are now output (up
to the maximum number before emitting one final exception.
Fix issues with recording origin (result may be nil).

Also fixes tests of issues.
Relabels Object and String as Ruby Object, and Ruby String.
Add monkey-patch that makes array extension in rgen 0.6.1 work.

This addes two methods to array:
to_hash (which raises NoMethodError (i.e. does not change any behavior).
respond_to? which returns false for :to_hash.

This monkey patch should be removed when RGen releases a new version of
lib/rgen/array_extensions.rb that handles to_hash correctly (expected to
be in RGen 0.6.2).