Transposition Table

Prototype a container that can be used to speed up the tree search as well as possibly maintain the principle variation. This version will use a Zobrist hash of the board position. Since it fits within 64-bits it should be possible to translate the non-concurrent version (represented by this pull request) by concurrent version with a minimal of locking (i.e. instead using read-modify-write atomic instructions where possible).