Store 2 killer moves and improve move ordering.

Store 2 killer moves at each depth and loop through all possible moves
instead of finding all valid moves first. This is faster and easier to
use with move ordering. Add more comments to the Minimax function.