Add the ability to benchmark across multiple queues

Previously, all operations where performed on a single queue. This patch
introduces the ability to distribute operations across multiple queues,
which is important to measure since we know that the mongod driver has
some per-queue performance limits, but that it has several features
which allow for scaling load by spreading it across multiple queues.

Note that the default of 4 queues was chosen somewhat arbitrarily, and
may be adjusted later as we gather more data.

As part of this patch, queue classes and sample messages were hoisted
so they can be shared across all greenlets. Sharing a requests
session across all workers should improve the performance of the
benchmarking tool itself.

Change-Id: Iac6625b0214d40156da1c2bebe738fa453f184d1
Merge "Add the ability to benchmark across multiple queues"