improve required option handling

- Inside exclusive groups, the required rule for option O applies only if the group selected option is O or an ancestor of O. This will avoid non revelant errors
- Modify C, PHP and Python parser to reflect this change
- Update specifications (add postproc-required-in-xgrp)
- Add test group for this new specification

Python parser
- Sort option name bindings by option while looking for missing required option to avoid multiple error reports for the same option
- Add missing error #4
c parser: number validator help message improvements
c parser: add argument default value in single argument detailed usage
xslt: improve sh.if and sh.arrayForEach
xslt: add sh.chunk.arrayValueExists template
    (Check if a value exists in array elements)
xslt: improve initial value handling in sh.local template
- fix auto-quote behavior
- always add = after variable name even if no initial value was set (zsh compatibility)
sh parser: comply the new specification for required options in exclusive group (postproc-required-in-xgrp)
update tools and documentation according to previous changes