Fix issue #10
AbstractListEditCommand now gives errors for invalid subcommands.
Fix issue #1 - DFBNC command on its own should now work.
Remove some code that really doesn't do anything.
Setting to report parser errors to anyone connected if wanted.
Fixes issue #9
Connect is now a global command
Creating ConnectionHandlers is now handled by the ServerType
Add AutoConnect (untested)
Fix brokenness.

- When creating an account, correctly add it to the list of accounts with
  a lowercase name not the case it was given in otherwise it will never be
  found again.

- Enable debug level 3

- When user reconnects to the bouncer, if their active nickname on the
  server is different than the normal nickname, correctly update the
  usersocket

- When a user reconnects, correctly set post001 on the usersocket

- Set default communication type to NOTICE not SNOTICE

- Allow AUTH as a valid communication type

- Add aility to find commands that start with the given string

- Add "general.allowshortcommands" global setting. If this is set, full
  command names are not required. (eg "/dfbnc show" rather than "/dfbnc
  showcommands" - If multiple commands match, then show a list of matches)
  This currently only applies to the command itself, not its parameters.

- Fix performs not actually working due to using the wrong setting name.
  All performs will need to be readded, or config files edited.

- Fix bugs introduced in previous untested commits.
Remove pointless SVN $Id:$ things.
Attempt to not die horribly when windows-based clients are in use.

- Each UserSocket can have a primary charset defined, defaulting to UTF-8
  (currently no way to change this) which is attempted to be used to decode
  incoming lines. If the primary fails then UTF-8, windows-1252 and Latin1
  are tried untill one works.
  - In future this could perhaps be chagned to re-order the list so that
    the last successful encoding is used in future, or perhaps rather than
    having a list of fallbacks, use something like jchardet to work out the
    encoding if the socket-default fails.

Other changes:

- Allow all 9 debugging levels.

- Improve CLIParser to allow "-dddd" rather than "-d -d -d -d", if params
  require values they will be expected in order, eg:
  "-abc paramA paramB paramC"

- Remove "convert" cli option as the code for it was never written and
  all known users of dfbnc-delphi already use dfbnc-java
Fix invalid commands when shortcommands are off
Socket fixes
- Use correct address details in messages.
- Reset the ByteBuffer between each attempt to decode it.
Lots of command changes

Added new "Show" command
"ShowCommands", "Version", "Firsttime" and "Users" are now "show commands", "show version", "show firsttime" and "show users"
ShowCommand, AbstractListEditCommand, AbstractSetCommand, ServerTypeCommand and HelpCommand now work better with allowShortCommands
isAdminOnly() in Command is nolonger incorrectly set as final
Added "AdminCommand" class for admin commands to inherit from
Output from "show users" is now more useful
Shutdown, Disconnect, Quit, Reconnect can no longer be used in short form
More command stuff.

More short-command work to make the behaviour seem consistent
 - exact matches for params are now always used as themselves (so "show" would always match the "show" and not try to pick between "show" and "showcommands")
 - if there are multiple command matches, but only one of them is a non-hidden handler, then it will be used. (for example "full", "*fuller" and "*fullest" matching "f" would use "full");
 - Behaviour will still be strange if there are multiple command matches, but all the matches are actually hidden commands. (an empty list of possibilities is show) however currently there are no possible cases of this.

Fixed some typos
Added "show sessions" command
setpassword command no longer allows anyone to set anyone elses password
Removed unneeded method from setpassword command.
Moved "show" subcommands into a separate package
Add support for BackBuffers in channels.
	- Defaults to off, "serverset backbuffer <number of lines>" to enable. (This is a per-channel line limit, changes are only reflected after cycling any currently joined channels)

Add support for "TimestampedIRC" (See: http://shanemcc.co.uk/irc/#timestamping)
 - BackBuffers will use TimestampedIRC if enabled, otherwise a timestamp will be appended to the end of any backbuffer messages.
Seems stable and useful now, tag version 0.2!
Netbeans 7 project file changes
IRCConnectionHandler Fixes.
 - Don't try to reconnect instantly, wait 5 seconds.
 - Cancel the requeueTimer when the socket is closed

The 2 fixes above combined pervent a case of the bouncer reconnecting constantly to a bad server and filling up its heap.

Fix 002-005 replay using the wrong nickname if the nickname has changed from when the bouncer first connected.
Fix joinString being stupid.
Give RollingList a serialVersionUID
/dfbnc disconnect no longer causes a reconnect
Don't close the user socket if we get disconnected from a server but the user hasn't yet had a 001
Add an alternative to the "disconnect-on-disconnect" behaviour. (Not recommended for use, but meh)
Add a bunch of settings to the ircset command that aren't yet implemented.
abstractset commands now tell the user if the setting they just tried to set doesn't actually exist
Backbuffer and output buffer changes

Add some explicit synchronisation around the output buffer using semaphores.

Occasionally backbuffers are being cut-short, or not sent timestamped, this commit attempts to fix this.
May still require changing how the initial on-connect stuff is handled.

- Backbuffer delay is now configurable. Bouncers connected to larger numbers of channels may need to increase this.
- Each channel now has a separate thread for backbuffer sending, each sent with a slightly different delay, this should stop chopped backbuffers.
Fix ArrayIndexOutOfBoundsException if "TOPIC", "MODE", or "LISTMODE" are sent without parameters.