Make the validation types match the pending ReasonCauses
Add a Causes array to status details for validation errors

Uses the same constant values as api/errors for each nested
reason.
Convert field errors into a selector for the object

Satisfies the "Field" condition for a Cause.  Also addresses
parts of #914.
Return validation errors from storage create/update
Naming of Reason constants is inconsistent

Changed ReasonType to StatusReason (to match the field) and
changed CauseReason to CauseType and renamed StatusCause.Reason to
Type.
Merge pull request #964 from smarterclayton/return_validation_errors_from_api

Return validation errors via the REST API