Add better nullability support.

json-schema supports nullability through a type union.
However, it can be cumbersome to have to use type unions
everywhere. This commit adds better support for nullability:

* Any property can declare its nullability with a simple
  `nullable: true` declaration.
* Add a new `scalars_nullable_by_default` config setting.