Back pressure optimizations

Three things:
  * don't use Queue.length but keep track of length explicitly
  * reorder match to move more likely matches to the front
  * make sure internal Acks don't slip into the pipeline