free hash table in SearchController destructor
Bug fixes:

1. Guard against exceeding the max widening steps for the
aspiration window when failing high.

2. When detecting draws, check for previous move being legal
before returning a draw score (this is mostly important when
not using tablebases, since some apparent draw positions such
as low material may not actually be draws but invalid postions,
due a king capture being possible).