[llvm-exegesis] Add a custom error for clustering
All errors of type Failure are StringErrors. In order for exit code
mapping to detect that specifically a clustering error has occurred it
needs to have a different type.
This patch also prepares D74085 where termination report_fatal_error()
will be replaced with emitting StringErrors.
Differential Revision: https://reviews.llvm.org/D74124