Refs. #26. Better handling of pre-forking database connections.

Add a new classmethod to the server engines that yields partial
functions that return a new database connection. This functions
are called in the child process instead of the parent one, thus
preventing any possible issues.

MySQL engines also have a special rule that only enables expiry
on a single database connection, since only one "reorganizing"
daemon thread is necessary.
Refs. #26. Add functional tests for pre-forking.

Run basic checks on a Pyzor pre-forked server with mysql and redis
engines (currently the only ones that support pre-forking).

Also switch to using SIGTERM instead of SIGKILL when stopping pyzord
server in functional tests. This ensures a clean shut-down and all
child processes are being stopped.