Lets try this again then...

Revert "Revert "Merge pull request #43 from greboid/master""

This reverts commit e6f7b04e67484a87bb3fbdbc42a522df488de9ea.
Begin making this actually work, still needs more testing.
  - Re-add code to make sure config directory exists.
  - DefaultsConfig and ReadOnlyConfig should actually read their
    ConfigFile
  - getOption in DefaultsConfig should actually fallback rather than
    throwing an NPE when a setting does not exist.
  - Fix default value for listenhost to be one that actually works
  - AllowedChannels check needs to make sure it isn't looking for a
    null ClientID.

Extras:
  - Add missing check for "-enableDebugOptions"
  - Ignore PONG replies prior to authentication, rather than suggesting
    the user auths.
Create configs and add defaults for server.servertype, user.admin, user.first
Add some more missing defaults.
  - Re-add special handling for irc.{nickname,altnickname,realname, username}
  - AbstractListEdit command now understands the concept of "Dynamic" lists (IE, lists that don't have defaults, but are created on the fly)
Update from master,
Fix this.
Merge pull request #49 from ShaneMcC/BetterDefaults

Merge 'BetterDefaults' branch