Move to json_schema

Moves all schema validation-related responsibilities to the [json_schema](https://github.com/brandur/json_schema) gem which has significantly better handling for errors, edge cases, and should be fully spec compliant.

I've changed around many of the internal Committee API's and cleaned up a lot of things (although hopefully middleware interfaces should still be mostly compatible), so this change may require a major version bump.