log/tests - nosetests captures web server logs as well as test logs

By sending logs from the distinct web server process to the main
thread nose is able to gather logs from both the client and server
side for tests. This is very important because eventually when test
failures become more difficult to understand we'll need all logs
available and captures to make debugging the failing tests easier.

I've copy/pasted QueueHandler from Python 3.2, a very handy logging
handler which just enqueues logs onto a multiprocessing.Queue
instance.