Decouple ValidationResult from HTTP status codes.

- Validation results now just deal with:
  - Success
  - Failure
  - Failure message