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.
The configuration needs to pass itself to new endpoints as the config.
Remove configuration ordering dependency.

Previously, once you configured `endpoint_definition_files`, no other
config options would affect the endpoints even if they were meant to
because the endpoints were already loaded by that point.

This changes the endpoint loading so that it's lazy.
Fix a couple bugs in the nullable support.

- Don't change `type: null` to `type: [null]`.
- Don't blow up when there is an actual property named `type`.
Merge pull request #20 from seomoz/nullable

Add better nullability support.