Use see() instead of see_sign() in previous patch

Before it was working by accident in case of
see_sign() and failing with see() due to how
castle moves are coded (king captures the rook).

Better to explicitly filter out castling moves
and use see() without any surprise/trick.

No functional case.
Symmetric King Safety: take 2

Another attempt at retiring current asymmetric
king evaluation and use a much simpler symmetric
one. As a good side effect we can avoid recalculating
eval after a null move.

Tested in no-regression mode and passed

STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 21580 W: 3752 L: 3632 D: 14196

LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 18253 W: 2593 L: 2469 D: 13191

And a LTC regression test against SF DD to
verify we don't have regression against
weaker engines due to some kind of 'contempt'
effect:

ELO: 54.69 +-2.1 (95%) LOS: 100.0%
Total: 40000 W: 11072 L: 4827 D: 24101

bench: 8205159
Update Readme.md

Retire line about polyglot.ini and
book as they are not used anymore.

No functional change.
Fix a warning with MSVC Premium 2013

Reported by Ron Britvich.

No functional change.
Revert "Score extractors"

Are broken for big-endian case and
I have verified with MSVC 2013 Premium
bench is correct and there is no
miscompilation, so the main reason
to change the original code drops.

No functional change.
Move Tempo to evaluation

No functional change.
Avoid to use nullChild

Should be a non functional change, but
for some reason bench is changed.

bench: 8454456
Temporary revert previous patch

Split previous patch in 2 steps: first remove
the MOVE_NULL hack, then retire nullChild.

The first step is a prerequisite
for second one and affects bench.

The second step (next patch) just removes nullChild
without affecting bench.

bench: 8205159
Remove 'update gains' hack

Use (move != MOVE_NONE) condition to
filtering out updating gains at root.

bench: 8454456
Avoid to use nullChild

Use instead:

(ss-1)->currentMove == MOVE_NULL

No functional change.
Use unsigned char as argument of std::isspace

Although signature allows an int:

int isspace( int ch );

The behavior is undefined if the value of ch is
not representable as unsigned char and is not
equal to EOF.

See

http://en.cppreference.com/w/cpp/string/byte/isspace
http://www.greenend.org.uk/rjk/tech/cfu.html

This is really a tricky corner case of C standard!

Spotted and reported by Ron Britvich.

No functional change.
Check for an available slave early on

Don't take the split lock if we don't have
available slaves (about 30-40% of times).

This new condition allows to retire the now
redundant one on number of threads.

No functional change.
Small renaming in Tracing

No functional change.
Add bonus for advanced lever

Passed both STC
LLR: 2.95 (-2.94,2.94) [-1.50,4.50]
Total: 15413 W: 2670 L: 2530 D: 10213

And LTC:
LLR: 2.95 (-2.94,2.94) [1.00,6.00]
Total: 66908 W: 9398 L: 8960 D: 48550

Bench : 7859385
Tweak outpost name

This name is more accurate, since that function evaluates only one
outpost in every call.
No functional change.
Simplify pawn threats and merge into ThreatenedByPawn[]

Tested in no-regression mode,

passed STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 14477 W: 2493 L: 2362 D: 9622

and LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 51964 W: 7091 L: 7013 D: 37860

bench: 7875814
Factor out pawn attacks in 'lever'

Improves readibility and possibly speed.

No functional change.
Triviality in UCI::loop

Code style paranoid in action here :-)

No functional change.
Fix a warning with MSVC in 'analyze' mode

Here MSVC is worried that

StepAttacksBB[PAWN][psq]

could overflow, so change psq initialization
to clarify psq is always less than 64.

No functional change.