Separate server functionality from database

The database and user classes are a logically separate part of the library.
Change interface to use twisted pb

Twisted's Perspective Broker provides the optimal tool for creating an entirely
customized protocol. This is work in progress.