Add abstract caching proxy client class

As discussed in #33.