Mappers: Better validation of mapping JSON

The parsers for the mappers now remove each setting as they parse it and an error will be thrown if any settings are left after parsing is complete

Closes #7205 
Not sure if this is also supposed to be covered, but I can still do:

PUT testidx
{
  "mappings": {
    "doc": {
      "properties": {
        "user": {
          "type": "string",
          "norms": {
            "blah": "blub",
            "enabled": false
          }
        }
      }
    }
  }
}
```