move Board into it's own file
add tests.py
refactor a* search, so that it is one
do some much funkier output along the way