JSON keyword definitions: add a "sections" item

this which specifies the allowed sections of the keyword. (surprise!)
ParserKeyword: add the glue code so that it knows its sections
JSON keyword definitions: make the "sections" item mandatory

the empty list can be used which means that the keyword may occur in
any section. (which is useful for e.g. section delimiters.)
Extend deck grooming functions to detect keywords which are in invalid sections
Merge pull request #296 from andlaus/add_section_awareness

Add section awareness