Got rid of shared_ptr for searcher.
Got rid of shared_ptr for pieces.
Use unique_ptr for Move, distinguish between Move and MoveBuilder.
Improve piece special cases logic.