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.
Remove option for -fast switch; it is specific to Apple's GCC
eval_t fix for Clang
Merge branch 'master' into makemove

Conflicts:
	src/board.c
	src/board.h
	src/types.h
Delete duplicate definition.
Add move classifier, to be used with make-move.
Expose set/clear_square.

Needed for make/unmakemove, which fit better in move.c
Remove static prototype for set/clear_square
Add make/unmakemove

Add an "UndoInfo" type, which contains information needed to revert a move.
This includes the move classification as determined by makemove(), which
needs to be stored because castling moves cannot be recognised (in FRC) by
retrograde analysis.

Castling moves are not handled yet, because the castle masks are not
available. All other moves should work, but are untested.

Functions placed in move.c rather than board.c because it feels wrong to
include the UndoInfo there. Arguably, they should go with the gamestate
instead.
Add code to derive castling bitmasks, for FRC

Adopted from Sjaak, these define bitmasks for the pieces that must have
their init bits set (the king and rook), the squares that should be empty
(the squares in between, excluding the king and the rook. These masks could
be 0 in FRC if king and rook start next to eachother), and the squares that
may not be attacked by an enemy piece (for legal castling generation).

Stores the king/rook origin squares, for the purpose of making make/unmake
moves easier.
Derive castling masks when seting up position

Currently assumes the starting position from normal chess. Needs to derive
the rights from the FEN in FRC.
Make castling on makemove() work.

Not yet implemented for unmake, which could use some information from
makemove().
Fix typos.