Fixed bug in our mapPar implementation in Prototype.js.

It was failing to pass the indices arguments to the callback.

Why?  Because we needed to `apply` the function to a list of
arguments, and we erroneously grabbed the function Array.push, which
apparently exists (at least in SpiderMonkey?), but does _not_ do the
same thing as Array.prototype.push.
Updated test code to reflect the corrected map implementation.
More parMap tests.

These focus on primitive values like uint8 and uint32 and converting
between arrays of differing dimension (e.g. turning an array of
uint32s into a 2d array of uint8).
Incorporate review feedback.