cluster: introduce ImageStorage

This will store information about images and hosts.
cluster: store where the image has been commited when storage is defined
cluster: use repository as key in storage, when available
cluster: support storage on PushImage
storage: fix redis implementation

Now it compiles. It doesn't support the ImageStorage interface yet.
storage: implement Store, Retrieve and Remove image in redisStorage