Initial work on identifier types

Adds Nickname, Channel which enforce reasonable
invariants.