use an adapter class to avoid runtime checks

We can speed up cache get and set by using a proxy adapter object.  Then
we only have to check for respond_to once (rather than every get / set)
Merge pull request #493 from tenderlove/adapter

use an adapter class to avoid runtime checks