Named slaves.

A driver can now enqueue a session to a specific slave with a name. If
no such slave exists, it will be spawned if the pool limit is not hit
yet. Every slave has its own session queue now, which is used for these
tagged sessions.
Some random slave interlocking.

Hope this glittering locks here and there will help us with races and
other thread-related shit.
Missing includes.
Wake the engine in slave's pump.

When a slave is underloaded, always pump the engine's shared queue just
because I'm bored and don't want to think.
Specify fd in Engine's I/O log messages.

File descriptor is now always included in the Engine's log messages for
easier debugging.
Expose the new enqueue() method.

The new queueing method for slave-specific scheduling is now exposed via
the app_t interface.
Separate session queue code.

Because both the engine and slaves now use the same session queue, move
it out into a separate translation unit.
Missing headers.
Check for session deadline on assignment.

Session deadlines are now only checked when the session is being
connected to a slave's channel.
Merge branch 'tickets'