anchor.diff:  Updates the user's *username* in the database.
   Throws a *UserException* with code *102* if '$username' is invalid, code *103* if unavailable.
   See *validUsername()* & *availableUsername()* for more details.
  +
  +
  +==== validUsername(string $username) : bool
  +
  +Returns *true* if '$username' is a valid username, otherwise *false*.
  +Validity is determined by a regex loaded from the *username_regex* parameter in the *[user]* section of config files.
  +
  +
  +==== availableUsername(string $username) : bool
  +
  +Returns *false* if '$username' is a username in use already in the database, otherwise returns *true*.
  +
  +
  +=== Instance methods
  +
  +==== getID() : int
  +
  +Returns the unique *id* of the user.
  +
  +
  +==== getEmail() : string
  +
  +Returns the *email* of the user.
  +
  +
  +==== getRegisterTime() : int
  +
  +Returns a UNIX timestamp of the time the user was added to the database.
   
   
   ==== setPassword(string $password) : void
  
positive.code: 
  == User API
  
  === Instance methods
  
  ==== getID() : int
  
  Returns the unique *id* of the user.
  
  
  ==== getUsername() : string
  
  Returns the *username* of the user.
  
  
  ==== getEmail() : string
  
  Returns the *email* of the user.
  
  
  ==== getRegisterTime() : int
  
  Returns a UNIX timestamp of the time the user was added to the database.
  
  
  ==== setUsername(string $username) : void
  
negative.code: This function needs to send cookie headers and so must be called before any output.
  
  
  ==== validEmail(string $email) : bool
  
  Returns *true* if '$email' is a \'valid' email, otherwise *false*.
  