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)

closes #290