add breadth and depth first searching strategies
add a* out of place and a* manhattan searchers