lots of changes!

* perft testing code
* moves have assoc lists instead of board changer functions, which greatly simplifies things.
* simple FEN parser, maybe new program can resume games!
* various code cleanup