Add new username type

Parsing usernames would be a fairly common thing todo from heat
metadata, this type allows what would be expected to cover most sane
usernames.

Change-Id: I3a5577d2c5bef1ce54629a0b99e2dc085d274f02