Implement User/Keyspace throughput Scheduler

Details

Description

To support multiple applications on top of a single Cassandra cluster (and to protect against badly behaving clients) having a very simple scheduler for client operations would be very beneficial.

Since all tasks are short lived, a sufficient scheduler would probably only need to manage the queue of incoming requests, and weight them based on an assigned ID. The ID could be dynamically determined by using ip, userid or keyspace for instance, and then each Runnable would be assigned an ID.