redirect blob to tree

relies on raw.github.com redirect behavior,
which may not be reliable (I think it's different now from a few days ago).
Move Makefile into nbviewer
Merge pull request #126 from minrk/blob-redirect

redirect blob to tree
combine error templates
add 502 template
adjust custom error handling

- cast upstream errors to 502 (Bad Gateway), rather than just re-raising.
- 400 errors in remote fetch should be 500
- remote 404 is distinguishable from local 404 (still 404, though)
turn DNS errors into 404
remove erroneous self
HTTPError.response may be None
Merge pull request #130 from minrk/rethrow

adjust upstream error handling
separate memcache and nbconvert thread pools
add instrumentation log statements for async operations
add some timings for async operations
compress in memcache

and limit memcache entries to 16 MB (zipped)
bound memcache expiry

- min 10m, max 2h, based on request time
- always use max cache expiry for links from the front page
distinguish form posts from front page links

with `?create=1`
heroku threads up to 11
Merge pull request #136 from rgbkrk/movement

Move Makefile into nbviewer directory/package
Merge pull request #134 from minrk/mcpool

memcache adjustments, threading, etc.
use 'slow page' template when notebooks are slow

original request will finish, it will just never write to the client,
only the cache.

should avoid heroku timeout errors