REP-667 Global Rate Limiting

Submitting the pull request now to check if tests pass. I did not include the configurable back off delay since I seem to remember discussion regarding its necessity considering that the Retry-After header is already population with a more exact value (using existing code). Does that need to be in this branch? I would have completed it, but I was in a hurry!
waitForLimitReset() may need to rewrite somehow...I used it and got 'premature end of file' error.  I was sort of hurry with thought of able to push it before sprint end.