Add required_fields and optional_fields to Dict checker.
Add support for closed Dicts (i.e. ones that don't allow any extra fields) and check for missing required_fields.
Add test for required fields.
Add tests for optional_fields, falling back to item_type and closed sets of fields.
Merge branch 'feature/issue-538-enhanced-rpc-dict-field-checking' into develop