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>
Then having a single place where to look *what* is the validation rule makes it easier to re-read (to me) - I honestly missed the length validation for that reason.