Tidied up files a little (mostly adding/removing #include where needed).
Moved castling.c/h into board.c/h (as part of a gradual abstraction of the 'board' related things). Also required fixing some #include stuff.
Now use <inttypes.h> PRIx64 when outputting board keys, rather than old hack of llx.
Now have separate function for searching the root node (this is to allow more complete UCI support in the future).
Changed default hash size to 16mb. Was previously 128mb, which is probably too high (and not in the spirit of the UCI protocol).
Added UCI option to clear the hash table (namely 'Clear Hash').