Move breadth first pattern into its own factory class.
Pull out child creation methods into its own interface.
Moved depth search into its own class.
Move breadth factory tests to their own file.
Fix breadth versus depth tests.
Remove unused field and remove ridiculously long wait time.
Move factory generation up a level. This is preparing for splitting board scoring and node factory into separate classes.
Split scoring methods into their own interface.
Moved scoring weights into their own class.