Merge pull request #236 from greboid/tidying

Camel case ServerInviteReceivedEvent
Fix Away Messages.
Merge pull request #237 from greboid/awaymessages

Fix Away Messages.
Switch to Executors from TimerTasks.
Merge pull request #238 from greboid/awaymessages

Switch to Executors from TimerTasks.
Change to Connection in ExternalCommands.
Merge pull request #239 from csmith/master

Change to Connection in ExternalCommands.
Add User + GroupChatUser objects.
Add some JavaDoc.
Remove some more Server useages.
Merge pull request #241 from csmith/master

Remove some more Server useages.
Merge pull request #240 from greboid/awaymessages

Add User + GroupChatUser objects.
Remove more usages of Server.

This adds a sendLine method to Connection, which is a bit icky,
but is useful when the end-user is supplying lines to pass
directly to the underlying connection.
Merge pull request #242 from csmith/master

Remove more usages of Server.
Add a UserFactory and an implementation.
Add a UserFactory and an implementation.
Fix the package statement.
Use forEach where possible.
Merge pull request #243 from greboid/awaymessages

Add a UserFactory and an implementation.
Merge pull request #244 from csmith/master

Use forEach where possible.