Avoid recalculating CheckInfo in generate_castling()

No functional change.
Distribute part of first move time to other moves

Passed both short TC:
LLR: 2.97 (-2.94,2.94) [-1.50,4.50]
Total: 18907 W: 3475 L: 3322 D: 12110

And long TC:
LLR: 2.96 (-2.94,2.94) [0.00,6.00]
Total: 19044 W: 2997 L: 2811 D: 13236

bench: 8430785
Merge remote-tracking branch 'upstream/master'
For whatever reason, Marco decided to stop updating pieceCount for ALL_PIECES:

"Don't update pieceCount for ALL_PIECES

It is currently unused and only adds
overhead for nothing."

Apparently, the reasons for a patch of 4 months ago do not apply anymore:
"Fix pos.count<ALL_PIECES>()

It was never updated !

Currently it only affects evaluate_passed_pawns()
and in particularly the rule to increase the bonus
if we have more non-pawn pieces. We could simply use
popcount() instead and avoid the little slowdown
in put_piece() and remove_piece(), but this would
leave a very subtle and tricky hole where people
are forced to remember that pos.count<ALL_PIECES>()
does not work. This is not obvious and so dangerous."

Good to know that not updating this variable is
no longer "not obvious and so dangerous" !!!

Anyway, I never liked using pieceCount anyway.
On CPUs with native popcount maintaining these counts leads to
unnecessary overhead. SF would probably be faster if these counts
were removed alltogether (not just for ALL_PIECES).