use Board::get_pieces() instead of Board::b[][] for all read only-access
Direct manipulation of the internal board structure should be restricted to the set_square and clear_square function *only*.
No functional change.
signature = 8930990
simplify internal board representation
use (b[piece], all[color]) instead of the redundant (b[color]]piece],  all[color])
suggested by Matthew Bardes.
No functional change.
signature = 8930990