Implementing core fc4j 2.0 functionality

[#80392902]
really the only weird stuff is making a callback synchronous. The rest of the request stuff is fairly simple...just an executor waiting on a rate limiter to run. So I'm not sure if the extra baggage is worth the less nasty code?