Return validation errors via the REST API

Enable a structured validation error response (422) that returns each validation error.  Normalize the field value for validation errors so that it corresponds to the real JSON value (rather than the internal value).  Use the same constants in api/types.go and api/errors/errors.go for validation errors.
In this case it's nested inside StatusDetails.  ErrorCause is reasonable if it's always errors - I don't have a clear justification to either always be errors or support other causes.  And "working" in theory could have a "cause" field for more data (although again, that seems dubious).