Allow hyphens in namespaces.

We have some cases using a private registry where it would be convenient to be able to use hostnames and other strings that can include "-" as namespaces. The [original discussion about the acceptable characters in namespaces](https://github.com/docker/docker/pull/663#issuecomment-18437921) seemed a bit ambivalent on whether hyphens should be accepted in namespaces, so we'd like to propose voting them in.

This won't establish precedent for namespaces that aren't valid Docker hub usernames. The Docker client [accepts underscores in namespaces](https://github.com/docker/docker/blob/c478143ec0ca8f610f7980991b9b2ba0e1160b3e/registry/registry.go#L27), even though the Docker hub (despite [documentation to the contrary](https://docs.docker.com/reference/api/docker-io_api/#user-register)) doesn't allow them in usernames. Trying to create `test_user` today returns `Wrong username format (it has to match "^[a-z0-9]{4,30}$")`.

Signed-off-by: Matthew Riley <mattdr@google.com>
I think I start to prefer a meaner regexp than a long unwieldy list of special cases.