Don't cache authentication errors

Or, "Not every error is a rate limit error".

Any time Twitter returned an error, the `$this->rate_limit_hit` was set to
TRUE, which is decidedly not the case. Instead, actually make sure that
the error is a rate limit error before setting that property. This means
that caching gets smarter in that it doesn't cache other error messages,
like "Bad Authentication" messages.

Fixes #15