title: `additionalProperties` rule in JSON schema is not applied to nested level properties
body: <p>So I have a JSON schema with <code>additionalProperties</code> rule set to <code>false</code> like.</p>
  
  <pre><code>{
    "type": "object",
    "properties": {
      "metadata": {
        "type": "object",
        "properties": {
          "a": {
            "type": "string"
          },
          "b": {
            "type": "string"
          },
          "c": {
            "type": "string"
          }
        }
      },
      "street_type": {
        "type": "string",
        "enum": [
          "Street",
          "Avenue",
          "Boulevard"
        ]
      }
    },
    "additionalProperties": false
  }
  </code></pre>
  
  <p>and a payload like </p>
  
  <pre><code>{
    "metadata": {
      "a": "aa",
      "b": "bb",
      "c": "cc",
      "d": "dd"
    }
  }
  </code></pre>
  
  <p>Should I expect my JSON schema parser/validator to pass the validation, the JSON schema parser I am using <code>com.github.fge.jsonschema.main.JsonSchema</code> passes validation though <code>metadata/d</code> is not present in the schema with <code>additionalProperties</code> set to <code>false</code>, </p>
  
  <p>This is very misleading, can someone direct me in the correct direction.</p>
  
  <p>Is the <code>additionalProperties</code> JSON schema definition only applies to top-level fields and not to any nested level fields?</p>