Use ValidationErrors in catalog, services and plans

Also change catalog and service validations, so that validating a
catalog service adds the errors from its plans to the catalog errors.
The same is true for adding service errors to the catalog's errors.

Also, remove logic on Catalog for generating human-readable validation
error message. It now delegates to the ValidationErrorsFormatter

[#62008174]