Respect server capabilities when sending CAS requests

Context

BuildGrid's CAS client implementation currently has default configuration for CAS request forging (max. number of request per barch request, max. request size...). REAPI now as server-side capabilities advertisement support that would be worth supporting on client side.

Task Description

  • Request and respect ServerCapabilities when forging CAS requests.
  • Cache ServerCapabilities per remote.
  • Fallback to default values if GetCapabilities() is not implemented on server side.