better error messages for upstream errors

mostly affects the 400 page

people trying to view a gist that GitHub refuses to serve will see:

> The error was: GitHub will not serve raw gists larger than 10MB

- explicit error for gist 403 for blob too big
- include upstream body if it’s short and plain-text (e.g. from GitHub API)
Merge pull request #291 from minrk/403-too-big

better error messages for upstream errors