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
remove self.log from habit
Merge pull request #131 from minrk/unicode

various unicode fixes and tests