Avoid 'double assigments' tricks

fix from Marco's repo.

I was doing some modifications in bitboard, and spent some painful debugging time, thanks to these clever tricks. I dissectred the problem to narrow it down to a simple commit, and Marco saved my day and found the problem :+1: 

I also slightly modified the commit compared to Marco's version, because I want to keep the SquareBB and BSFTable initialization independant. The reason is that if you remove or displace initialization of BSFTable (which is only useful on PPC compiles anyway), you will get a very subtile bug: an infinite loop in init_magics()...