Re-factoring and implementation of board move searching.

Signed-off-by: Henry J. Wylde <accounts+git@hjwylde.com>