Shortened length of communicator and allowed to specify depth
Fixed control flow to correctly identify all move types. Changed castling moves to long algebraic notation.
Fixed improper test
Added extra test to verify failure and fixed older tests