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.