implement check and checkmate

implement Position#isCheck, #isCheckmate, #wouldBeCheck
implement Piece#moves() generator