always use u''.format

because `'{}'.format(u'ü')` will coerce to bytes on Python 2,
which is the opposite of the behavior of `'%s' % (u'ü')`,
which promotes to unicode.
add requests-style response_text

handles decoding based on headers, doesn't fail on bad encoding (will happen on gists with binary data)
unicode tests
fix IJulia link in index
fix gist user regexp
404 on missing gist files
remove self.log from habit
Merge pull request #131 from minrk/unicode

various unicode fixes and tests
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