Properly raise rate limit errors instead of generic Forbidden

AngelList currently expresses rate limit errors as a 403 with a JSON
object in the body containing an "over_limit" value for an "error"
attribute. Our erroneous matching of a 420 error was a legacy of
copying from the Twitter gem.

The new error class is named in anticipation of the proposed 429 HTTP
status code. We've proposed using this to the AngelList API team and
they seem keen on implementing it in the next major API version.

See: http://tools.ietf.org/html/rfc6585
Simplify header handling in error classes

Faraday responses wrap headers with a utility class that takes care of
normalizing case, converting underscored symbols, etc. -- we don't need
to do this. Furthermore, the rate limit methods could return 0 if the
headers were not present at all, which is somewhat dubious
semantically. They now return nil in this case. This is consistent with
how the Twitter gem handles these now as well.

Note the method contract change to possibly return nil here -- this
library is not really following SemVer yet, sorry :-(
Audit endpoints for pagination parameter support

We ought to wrap up pagination in a nicer way, but for now at least we
allow manually passing the params where needed.

YARD macro implementation needed to document pagination params.

Finally, closes #5
v1.0.6