Prototyped scatterPar with a couple tests.
Add some scatter tests and address some bugs.

The strawman spec makes some statements about where conversion occurs.
The conflictFunc can observe the distinction here, so its important to
get that right.  (The conflictFunc is also free to return whatever it
wants; the strawman spec makes a note about eliding the conversion
when the source and result have the same grain type, but I'm not sure
that's valid for the return value of conflictFunc.  Depending on what
one means by 'eliding the conversion'.)

Also, the strawman spec says that the conflict function needs to be
deterministic and associative.  Are we going to specify that it also
must be commutative?  (This is not necessary for basic parallelism
here, AFAICT; but if we don't dictate that it must be commutative,
then we need to specify in what order the arguments will come.)
Merge pull request #5 from pnkfelix/fsk-working-scatterPar

Working scatter par