(TK-27) Refactor client protocols

Refactor the async and sync client protocols into a single
protocol which resides in a new file, common.clj.