Backends: add BackendWrap

To dry things up a bit and make it easier for users to create
a wrapping backend without having to implement every function
themselves.

Note: getAndSetMultiple is not overridden because the wrapping Backend
class provides an implmentation that calls through to getMultiple and
setMultiple of the wrapping class.
BackendWrap: use it where it makes sense

removes a little code, separates concerns a little bit.