Clear metadata when remote metadata makes more sense
Initial implementation of server-to-server connection negotiation
Merge branch 'dev/0.3' of github.com:ElementalAlchemist/txircd into dev/0.3
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
services: Abstract sending a user a NOTICE with message splitting into a method tellUser()
Add a TODO to service.tellUser for a race cdn I realised could happen
dbservice: A subclass of Service for services with a database connection
Implement BidServ, a service for bidding on auctions.

It's quite desert bus specific, probably not useful to anyone else.

Most of the behaviour was copied from db_services.py on the master branch.
Future work:
    There should be a command that can revert a Going (Once|Twice)
        (maybe like ONCE --force, TWICE --force)
    There should be a "re-announce" which prints a similar banner to the auction start banner.
        This would be useful if some time has passed since the last bid and mods want to remind people.
Pull in schema file + test data from master branch