Add a readme and a license file
Merge pull request #21 from Heufneutje/readme

Add a readme and a license file
Implement the autojoin on connect module
Merge pull request #19 from Heufneutje/module-connjoin

Implement the autojoin on connect module
Remove the timestamp parameter from the server JOIN command
Don't reimplement that thing I already implemented
The UID command needs a very, very high priority
Prevent users with a higher rank than the kicker from being kicked
Merge pull request #25 from Heufneutje/fix-kick-permissions

Prevent users with a higher rank than the kicker from being kicked
Implement the usermodes on connect module
Merge pull request #22 from Heufneutje/module-connumodes

Implement the usermodes on connect module
Add services as a subtype of ModuleData

Services are modules that act like a pseudo-user and respond to commands.
They come "out of the box" with some useful functionality and shortcuts,
see service.Service for details.
Services are subclasses of ModuleData (instead of being their own seperate class)
because they need to make use of a number of module-level hooks, and it makes it easier
for the implementor if this is done automatically.

What is not implemented here:
    How to determine if a user is a service admin.
        Hopefully to be done later.
    Anything to do with cross-server management of services.
Create a test service testing basic service functionality

Put it under a new test/ directory for all such basic test modules.
Add admin operator permission lookup to services

Also add a built-in function to all services to check
if a given user is an admin for that service.