Bunch of 3 small patches

This patch is the sum of:

- Grainsize of 4 instead of 8

- Removing "depth < DEPTH_ZERO"

- Change DEPTH_QS_RECAPTURES = -5 to -7

All the patches individually failed to pass SPRT but scored
around 50%.

Together they pass easily short TC:
LLR: 2.96 (-2.94,2.94)
Total: 4429 W: 964 L: 844 D: 2621

And with some difficult long TC of 60+0.05:
LLR: 2.95 (-2.94,2.94)
Total: 64133 W: 11968 L: 11532 D: 40633

bench: 4821467
More uniform tracing code

No functional change.
Re-add "Pawn Structure" UCI option

And reshuffle the code to not special case
this parameter.

No functional change.
Add Pawn Structure also to polyglot.ini

No functional change.
Shrink engine UCI name

Some GUI have problems with long names.

Reported by George Speight.

No functional change.
Passed pawn tuning

A small number of tests with simulated
annealing at 15s indicated these values
may be better

And this is verified at long 60+0.05 TC
LLR: 2.95 (-2.94,2.94)
Total: 40658 W: 7821 L: 7501 D: 25336

bench: 4931544
Assorted renaming in evaluation

And some reshuffle too.

No functional change.
Fix a crash when 'go' multiple times

Search is started after setting a position and
issuing UCI 'go' command. Then if we stop the search
and call 'go' again without setting a new position it
is assumed that the previous setup is preserved, but
this is not the case because what happens is that
SetupStates is reset to NULL, leading to a crash as
soon as RootPos.is_draw() is called because st->previous
is now stale.

UCI protocol is not very clear about requiring that a
position is setup always before launching a search,
so here we easy the life of GUI developers assuming
that the current state is preserved after returning
from a 'stop' command.

Bug reported by Gregor Cramer.

No functional change.
Fix search log when using skills

In case of we pick a sub-optimal move be
sure to print this, and not the best one
on seach log file.

Bug spotted by Guenther Demetz.

No functional change.
Fix a typo

No functional change.
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.
Don't use std::vector::data()

It is a C++11 only function.

Reported by Eelco.

No functional change.