Tweaks to mode messages and accept numeric commands
Started working on the message building system

The aim of this system is to make is simpler for plugin authors to create messages of the type that they want.
Hopefully, this will stop users from needing to build up the message line themselves.

The structure of each individual class for a message type is as follows:

class PassMessage < IrcMessage
  def initialize(options = {})
    @validator = IrcMessageTypes::PASS_MATCHER
    @type = :pass
    raise ArgumentError.new('Required arguments not supplied: (password)') unless options[:password]
    @password = options[:password]
  end

  protected

  def build_message
    "PASS #{@password}"
  end
end

Messages should provide their own means for building the message sting. For example, users and further parameters may be required.
The Message should also be responsible for validating input arguments that are provided in the form of a hash.