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 
This way the fields will not be checked when type is "multi_fields":

```
PUT testidx
{
  "mappings": {
    "doc": {
      "properties": {
        "title": {
          "type": "multi_field",
          "fields": {
            "lala": {
              "type": "string",
              "foo": "bar"
            }
          }
        }
      }
    }
  }
}
```