2016-01-18 reminder:
	   output is non-deterministic
	   testing does NOT account for that,
	   so this test might fail.

	   the output depends on the order workers get to requests.
	   recall that using "multiple forward" idea,
	   so each client request is replicated to each worker
	   and whichever worker responds 1st has its return value output.
	   in the now .std request order from clients is "well-behaved"
	   workers see requests from 1 client, then next, etc.
	   but it's possible (and shows up regularly) that
	   say worker 1 sees client 2's request before worker 0
	   and worker 1 handles that request before worker 1 sees or handles
	   client 0's or client 1's requests.  I.e., more concurrency
	   (due to multi-cores or multi-processors) means client 0 and
	   client 3 can run at same time and order of arrival of their
	   requests on doWork[i] is non-det.

	   (note that adding volatile to the array catchup
	   would have no effect since
	   (1) only array ref (not array elts) would be volatile.
	   (2) access to array is only w/i JR's P and V,
	       which already cause updates that volatile implies.)
