making Async mutexes and Async mutex tables generic
and using the generic versions in ETagAwareHttpClient