Skip node-level cut-off tests when in check

No functional change.
Simplify "fail high upon reduction" in null search

Do not use threat move to detect the condition. This
let us to retire the big allows() function.

Test at short TC was within 50% score:
LLR: -2.95 (-2.94,2.94)
Total: 38272 W: 7941 L: 7940 D: 22391

To be verified with reverse long TC

bench: 4191565
Revert previous patch

Unfortunatly a reverse test at long TC failed:

master^ vs master
LLR: 1.37 (-2.94,2.94)
Total: 33682 W: 6294 L: 6071 D: 21317

So becuase short TC score is 50% there is a good
possibility patch is not scalable.

So revert it.

bench: 4507288
Don't IID when in check also in PvNodes

This tiny functional change allows to
nicely simplify things.

Performed at 50% in short TC:
LLR: -0.43 (-2.94,2.94)
Total: 46406 W: 9681 L: 9565 D: 27160

And succesfully passed long TC reverse test:
LLR: -2.95 (-2.94,2.94)
Total: 4945 W: 858 L: 937 D: 3150

bench: 4507230
Fix a crash with depth 1 perft

Bug recently introduced in e215a88cddd16e09

No functional change.
Rename some UCI options

Thanks to Don, Miguel, Louis and the other people
of talkchess forum for the suggestion:

http://www.talkchess.com/forum/viewtopic.php?t=48612

Also sync polyglot.ini with current UCI options

No functional change.
Fix printing of PV info

It was erroneusly skipped after the
aspiration window rework.

Reported by Eelco.

No functional change.
Fix printing of PV info: take 2

Now last PV line is printed twice, fix that.

No functional change.
Fix build with MSVC 2013

Also add an assert hinted by MSVC code analysis tool.

No functional change.
A useless assignment found by Clang’s static analyzer

Warning is: "Value stored to 'xxx' is never read" and
it is raised in SpNode case.

No functional change.
Retire enoughMaterial + lower trapped rook threshold

Here speed up is the name of the game.

Speed up is gained:

- Removing the useless enoughMaterial code

- Limiting trapped rook evaluation to where it counts

Tested at long TC:
LLR: 2.97 (-2.94,2.94)
Total: 10061 W: 1948 L: 1790 D: 6323

bench: 4558173
Fully qualify memset and memcpy

And other trivial touches.

Ispired by Lucas's DiscoCheck

No functional change.
Fix build on Intel compiler

Due to a strange issue (bug?) the ternary
operator does not return a BitCountType for
icc, so revert to the expression used
before bcbc9bfd1f5efeaa3

No functional change.
Add signature-build make target

When compiling with:

make signature-build ARCH=xxx COMP=xxx

After binary has been roduced, it will be run to
get the signature 'stockfish bench' and this
number will be used as Version, so that it
will be easy to track the original sources
from a binary.

No functinal change.
Retire engine Tag

It is somewhat redundant and could make SF
name too long, so use just Version, in case
of a signature build Version will be set to
'sig-xxx' otherwise, if left empty, we fall
back on usual date stamp.

No functional change.
Add signature-profile-build make target

Extend patch 3f64a2af6a7dac4 to profile builds.

here the make command is:

make signature-profile-build ARCH=xxx COMP=xxx

No functional change.
Update 'make help'

No functional change.
Simplify a condition in refutes()

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Better annotate unlikely conditions

And in case of gcc we win also a small
speed optimization due to better branch
prediction.

No functional change.
Don't use __builtin_expect

Partially revert previous patch and use
unlikey() just as code annotation.

Actually it is better to rely on a profiler for branch prediction:

http://blog.man7.org/2012/10/how-much-do-builtinexpect-likely-and.html

"In fact, even when only one in ten thousand values is nonzero,
we're still at only roughly the break-even point"

No functional change,