More IOLoop scheduler changes

Summary:
Major change here was introducing the max_priority and requiring 2
iterations of no work to accept() a new HTTP request. Broke the changes
out from the main IOLoop to avoid impacting other projects and make it
easier to tweak independently. May consolidate a bit better in the
future.

Comments explain rationale behind change

Test Plan: Load test, load test, load test

Reviewers: josh

Maniphest Tasks: T5540

Differential Revision: http://infra1.corp.contextlogic.com/D9475