Non functioning version. Can't call in_check? from piece's castle? function
functioning version, but king can castle through check, watch out for if both king and rook have moved, potentially another bug
Added pawn promotion, fixed a bug with moved getting set to false for duped boards