Add retry functionality to the CAS client
Before raising this MR, consider whether the following are required, and complete if so:
- Unit tests
- Documentation update(s)
If not required, please explain in brief why not.
Update the BuildGrid CAS client to support retrying failed calls. This is an enhancement to the builtin
bgd execute client as well as the remote storage backend.