Speedup

Hi,

As already mentioned in an earlier email I've took your 2048-ai code and made it approx 1.5x faster (depending on exactly which compiler/machine you test on). I've now now split my work in many small patches. Hopefully these are easy enough to understand.

You probably don't won't to merge my branch as-is. E.g. the very first patch removes the random seed (so that I always get the same sequence of random number to be able to benchmark). You may or may not want the last 4 patches because they remove the .so / python functionality (see commit messages of the actual commits for lots more details). In general I tried to order the patches so that the more stable/useful patches are in front of the more experimental ones.

Wouter

PS: this is my first git pull request I'm sending. let me know if i did something wrong or in an unconventional way.