The client contract: the TypeSafeClient interface, TypeSafeException, and the decorators
that wrap any implementation (RetryingTypeSafeClient, DeadlineTypeSafeClient, TokenCounter).
Depends only on typesafe-java-core. Implemented by typesafe-java-client-http (the TypeSafe API over
HTTP) and typesafe-java-client-local (in-process models).