A scheduler can be used to schedule a set of tasks based on their relative
priorities.  Scheduling is done by maintaining a list of task control blocks
which holds tasks and the data queue they are processing.
@constructor
function Scheduler() {
  this.queueCount = 0;
  this.holdCount = 0;
  this.blocks = new Array(NUMBER_OF_IDS);
  this.list = null;
  this.currentTcb = null;
  this.currentId = null;
}