Only allow embedded hyphens. Add more tests.

Signed-off-by: Matthew Riley <mattdr@google.com>