Currently, the User class has a number of static functions relating to handling user names. These should be moved into a new UserName class.
The UserName object is constructed with a string for the name, and provides the following public methods, each replacing a static user method. Summary shown below (user methods are static, $userName refers to an object with the new class ):
* `User::isIP( $name )` -> `$userName->isIP()`
* `User::isValidUserName( $name )` -> `$userName->isValid()`
* `User::isUsableName( $name )` -> `$userName->isUsable()`
* `User::isCreatableName( $name )` -> `$userName->isCreatable()`
* `User::getCanonicalName( $name, $validate = 'valid' )` -> `$userName->getCanonical( $validate = 'valid' )`
The following non-static methods can also be migrated
* `$user->isIPRange()` -> `$userName->isIPRange()`
* `$user->getTitleKey()` -> `$userName->getTitleKey()`
`$userName->getName()` will also be added
Thoughts?