[WM JE] add JSON encoder for schema.utils.ValidationError objects

This was added so the API could return valid JSON (or EDN) even on validation errors. We'll likely need to come up with a better way to map from server-side validation errors to a user-friendly error message on the client side.

There are also likely still other places remaining where we need to make errors return data structures rather than strings when dealing w/ JSON or EDN.
[WM] return a data structure on errors so we can get valid JSON / EDN back to the client
Merge pull request #7 from turbovote/return-data-structures-on-errors

Return data structures on errors