printMove: add stream parameter
add eval.c

Split board evaluation from ai.c
ai: relax asserts for time up

Now that we can time out, we can actually return minScore or maxScore,
or have no bestmove. This is getting weird..
ai: fix timeup bugs

Ugh