Review and clean up Exceptions in CTA
For example, at the moment we have two different exception types with the same name:
PbException : public std::runtime_error defined in XrdSsiPbException.hpp, and cta::exception::PbException : public cta::exception::Exception, defined as CTA_GENERATE_EXCEPTION_CLASS(PbException); which is at least confusing.
Additionally, it looks like PbExceptions are thrown to indicate that a field in the protobuf message passed in a request is not properly filled in by the requester, which is more of a user error and less of a Protobuf issue.
There might be more things like this, we should have a look and do some refactoring/cleanup.