use parallel interval expand (from mgpu lib) for generating board pointers

- get rid of USE_COLAESED_WRITES_FOR_MOVELIST_SCAN optimization as it
wasn't very useful
- use parallel interval expand algorithm instead (which is based on
merge paths).
-- Add mgpu library to source tree. I had to modify only a few functions
in mgpu lib. to get exactly what I wanted.
~7-10% speed improvement.