It is possible, for some comments, that a User is not assocated.

Which does not make much sense, since, presumably, a user has to enter
the comment. This is likely a bug within Instagram -- however I'm
yet to isolate a reproducible scenario where this happens.
Merge branches 'fixup-remove-caption', 'fixup-add-tags-to-media' and 'fixup-models' into usable
Merge branch 'fixup-generation' into usable
OAuth2Request also return 420 when rate limiting is in effect.

When RateLimiting is in effect, the content return can also be:

'{"code": 420, "error_type": "OAuthRateLimitException", "error_message":
"You have exceeded the maximum number of requests per hour. You have
performed a total of 5002 requests in the last hour. Our general maximum
request limit is set at 5000 requests per hour."}'

It seems that Instagram are following Twitter in this regard.
Merge remote-tracking branch 'remotes/upstream/master' into usable
Correct how we detect rate limiting problems.

When we hit a rate-limiting exception, the HTTP status code is 400.
Rather than 420 as originally written.

However the content includes enough information that we can raise
exception that we handle in other places.
content is a string, until we decode it as JSON.

Just do the decoding higher and assume, rightly or wrongly, that
the content of a 400 response is JSON
Return the comment object when a comment is made.
Merge branch 'usable' of git://github.com/akumria/python-instagram

Conflicts:
	instagram/bind.py
	instagram/models.py