cleanup
- do not expose in_front() and re-scope InFront[] only where it is needed.
- rename bishop_attack() and rook_attack() into battacks() and rattacks(): function overloading is logical here, it effectively makes occupancy an optional parameter. if not supplied it is assumed empty and we use the pseudo-attack arrays instead of magic bitboard.