Rename a fixture method in RegionMappingTest.

They're called RegionMappings now, not RegionGroupings..
RegionMapping now accepts an executor count on construction.

This will inform it how tasks will be naturally grouped; efficient (local) assignments must respect this grouping.
doco
Prepare to swap executors for tasks.

To preserve existing tests, the executor count and task count want to be the same.
Juggle some imports.
RegionMapper now groups things on a per-executor basis.
Mock TopologyContext::getComponentTasks.
RegionMapping now coalesces by executor but indexes by task.

The scheduler is only able to assign entire executors (threads) to available worker slots.

However the region mapping was only considering locality at the task level: it was perfectly possible for (say) a single executor to contain two tasks with 3 regions each, where each region triple shared a common server but the 6 as a whole were split evenly between two servers.  Such an executor doesn't have an ideal place to run.  We were missing locality opportunities where two such executors might have swapped halves to achieve 100% local traffic.

By considering matters at the executor granularity instead of the task granularity, the RegionMapping now avoids this issue where possible.  Mechanically, two changes were needed:

* Instead of coalescing down to task count, we go down to executor count (which must be supplied.)
* Task indexes and region-subsets must now be projected into the executor-granular groupings.

The 2nd bullet was the more daunting, as it required us to faithfully recreate how storm creates the task-executor mapping.  In 0.8.2, we've experimentally determined that storm uses a simple scheme of distributing tasks evenly, with the difference between two executor sizes (task counts) being at most 1.  Further the smaller executors are always grouped at the end of the index space.  This is easy to compute and simple to understand, but will break if Nathan ever changes his mind.

One thing to note is we're now able to schedule any number of regions onto any number of executors, even when that executor count is fixed only at schedule time.
This test passes again.

We'll deal with the policy change (the todo) when we burn that bridge.