feat(registry): deis-cache for saving meta data

This improves the registry speed with remote stores and improves the developer UX

Fixes #1780, fixes #1794
The client defines client <-> server errors, so key errors won't be defined in go-etcd. In that example, brandon uses `etcdErr.EcodeKeyNotFound` which implies that we should import `github.com/coreos/etcd/errors` and use the error codes there.