Add support for images & image repositories

This adds support for images and image repositories to origin. It also adds a webhook for the Docker registry that can be invoked whenever a new tag is pushed to a Docker image repository. The webhook receives data from the registry (repository, image id, image metadata, tag) and stores the data in origin. The corresponding Docker registry changes are here: https://github.com/ncdc/docker-registry/compare/openshift_hook

**TODO**
- [ ] godoc comments
- [ ] tests
- [x] etcd registry implementation
- [ ] validation methods
- [ ] kubecfg support
I worry about how these overlap with the existing Docker structures - i.e. if they change, we have to change.  Also, a lot of potential to get these wrong.  What's the simplest possible single JSON structure that adequately conveys to a user the distinction between setting and removing?  We want strong typing, but maybe this should be more reflection focused.  You could also make also make all of these pointers, and then test for nil on each one.  The distinction between nil and string, or nil and int, or nil and empty array in many cases is clear.  Probably not for a complex object though.