Have Extra match last for mapping candidates

Without this, `Extra` might appear first in the iterator, and fail to
validate a key even though it's a Required that has its own validation,
generating a false positive.
Merge pull request #63 from charlax/ca/fix/fix_required_keys

Fix default required keys