Fix incorrect 'ss' pointer in early stop check

The exclusion search used to verify one move is much
better than other shall be called with 'ss' and not
'ss+1'

No functional change.
Use alpha instead of beta-1

It is more directly related to a fail-low.

No functional change.
Retire psq_delta()

No functional change.
Introduce operator~(Piece c)

Small syntactic sugar to reverse piece color.

No functional change.
More consistent 'piece' variable naming

No functional change.
Convert pieceSquareTable to 3 dimensions

No functional change.
Zobrist::init() should be Position::init()

No functional change.
Don't need to expose namespace Zobrist

It can be local to position.cpp

No functional change.
Fix again early stop ss pointer

Fix was wrong becuase search starts from ss+1,
code is a bit tricky here, so rewrite in a way
to be more easy to read and understand.

Spotted by Eelco.

No functional change.