drop non-alpnanumeric chars from Canonical Name

following up on #2659, further steps toward an algorithmic
derivation of Canonical Name from App Name.

Also add two rules about hyphens which are implied and already
followed by every Cask.