Proper corrected rays for rook, bishop and queen

To get the proper corrected rays a method was implemented in ChessPiece.cs which finds all the board locations which are blocked. Implementing that method was a bitch and I still hate it. It has terrible naming, difficult to follow logic, poor maintainability, etc...

The GetCorrectedRay code for the bishop, rook and queen is identical.
King can't target it's own pieces

Now, the when the king is selected locations with pieces of the same colour aren't targeted