If the Docker Registry API allows for images to be deleted, issuing the
command `delete <image> <tag>` will result in the tag being removed from
the server.
A limitation of this change is that it will cause any unreferenced tags
to become orphaned, requiring the garbage collector within the docker
registry server to clean these up. This is because there is no way to
efficiently determine if each of the layers are reused by other tags or
images on the server.
Implement delete logic
Fix broken unit tests
Refactor the existing code architecture to be a little flatter to support adding the show and delete handlers. Currently these two handlers are just stubbed functions, but the CLI looks about right.
The official Docker Registry V2 API calls the commmand to list the repositories
the "catalog", so to keep things as consistent as possible and not invent new
names for things that have meaning in the domain, stick with the same naming
convention.