run test notebook server in thread

instead of a subprocess.

- better log capturing for nose
- saves a bit of time, especially on systems with slow process invocation
- gives the test access to the server objects, for mocking, prodding, and testing