Do not use outdated (draft3) schemas by default

I'm cleaning up a few things on the **tech_debt** branch, but I wanted this one to have it's own PR because it does have a potentially contract-breaking change.

I cleaned up the schema validation, but also stopped assuming schemas are draft3. The latest version and the default used by the validator is draft4. You can still use draft3 schemas, but you should explicitly mark them by adding this to the schema:
```
"$schema": "http://json-schema.org/draft-03/schema#"
```