refactor validators to use jsonschema

I think this is getting into a good spot in terms of validator functionality. Web editor is still a longer way off. I think we could merge after core validation stuff is ready.

Validation:
- [ ] Verify user facing error messages are good for all failures
- [x] Continue to verify new validators work acceptably the same as old ones (pretty sure this one is good already)