compute PST dynamically:
* b->pst[] is updated by set_square() and clear_square().
* calc_pst(): calculated PST from scratch for a given color.
* verify(): verifies b->pst[] (and later whatever else we need to compute dynamically).

PS: if e1 and e2 are eval_t (vector of 2 int), one cannot write assert(e1 == e2);
The problem is that the binary operator '==' is also vectorized, so the result is a vector of bool, and assert() doesn't know what to do with it.
An extra function vector_equal() had to be introduced, in order to do that.