This matches the behavior of inspircd at the very least. Previously, the comment above that section claimed ':' should be disallowed, but the code didn't do so. I also simplified the code a little bit and added tests.