minor cleanup

- tried out trove library for AOS optimization when reading boards but
it actually reduces performance
- not using lookup tables for King and knight gives a very minor speed
improvement.
- at leaf nodes, do reduction per warp instead of per-thread block.
Atomics are fast enough to sum up the warp sums. This gives a minor
speed improvement.
- removed some commented out code.
- put shared memory structures in a union to make code easier to read.