switch to tornado

This makes nbviewer a normal Python package, and a tornado app. It uses tornado's gen.coroutine and AsyncHTTPClient for async IO, and a ThreadPoolExecutor for async calls to blocking IO APIs (memcache, nbconvert).

It's still incomplete, but close enough to start thinking about it.

I know @Carreau has ideas about what the new URL scheme should be. The only changes I made (on purpose, anyway) are:

- redirect /gist_id to /gist/gist_id
- redirect /url[s]/anything-on-github to /github/user/repo/etc. and use API requests there

but these are certainly not set in stone.

Currently running at http://nbtest.herokuapp.com