Adds support for generating JSON Schemas version 3:

* By default assigns `"required": true` to every property, unless a question mark `?` is matched.
* When `*` operator is matched as a suffix of an array property, orderly generates the `additionalItems` property,
  instead of `additionalProperties`. However, the latter is still generated when `*` is found after object declarations.
* `patternProperties` is not supported yet.