rose metadata: change option compulsory=true meaning.

This change alters the metadata specification to
allow compulsory options to be missing from a
configuration if and only if their parent section
is also missing.

The compulsory macro logic has been changed to
reflect this and as part of a general refactor
of that logic, which did not handle duplicate
section compulsory option addition properly in
rose edit mode, and which had the --fix bug
described in #1158.
rose edit: fix handling of compulsory latent duplicate sections
rose edit: restore duplicate sub-data pages
rose documentation: update metadata spec
rose edit: fix general checking for rose-suite.info suites
Merge pull request #1167 from benfitzpatrick/rose-edit.fix-check-save-no-config-dir

rose edit: fix general checking for rose-suite.info suites
rose macro: centralise magic strings
Update CHANGES.md
Merge pull request #1163 from benfitzpatrick/rose-metadata.change-compulsory-option-meaning

rose metadata: do not require section for compulsory=true options