Rewrite some bitboard init code

And move the static function Position::attacks_from() to
bitboard code renaming it attacks_bb()

No functional change.
Rename Bitboards print to pretty

To align to same named Position function and
avoid using std::cout directly.

Also remove some stale <iostream> include while
there.

No functional change.
Simplify a condition in gives_check()

Now that aligned() is quite fast we can skip
some logic.

No functional change.
Rename CASTLE to CASTLING

It is call 'castling move', not 'castle move'

Noticed while reading DiscoCheck sources.

No functional change.
Assorted spelling fixes

No functional change.
Big assorted spelling fixes

No functional change.
Another round of spelling fixes

And also renamed a loop variable while there.

No functional change.
Re-fix a comment

No functional change.
Small improvment to Position::fen()

No functional change.
Remove redundant argument from hidden_checkers()

No functional change.
Shrink Position::is_draw()

No functional change.
Broader condition for dangerous pawn moves

Instead of a passed pawn now we just require the pawn to
be in the opponent camp to be considered a dangerous
move. Added some renaming to reflect the change.

Passed both short TC test
LLR: 2.95 (-2.94,2.94) [-1.50,4.50]
Total: 10358 W: 2033 L: 1900 D: 6425

And long TC
LLR: 2.95 (-2.94,2.94) [0.00,6.00]
Total: 21459 W: 3486 L: 3286 D: 14687

bench: 8322172
Retire TheirHalf[]

We avoid to use an ad-hoc table at the cost of a
relative_rank() call in advanced_pawn_push().

On my 32 bit system it is even slightly faster (on 64bit
may be different). This is the speed in nps alternating
old and new bench runs:

new

368890
368825
369972

old

367798
367635
368026

No functional change.
Micro-optimise dangerous condition

Since all ENPASSANT moves are now considered dangerous, this
change of order should give a slight speedup.

Also simplify futilityValue formula.

No functional change.
Assorted spelling/grammar/captitalization

No functional change.
Even more spelling fixes

No functional change.
Clarify definition of capture_or_promotion()

No functional change.
Further simplify Bitboards init()

No functional change.
More readable init of MS1BTable[]

Because now it uses lsb(), the BSFTable[] must be
already initialized.

No functional change.
More work on Bitboards::init()

No functional change.