Update chess.py

Checkmate now working, fixed bug in king_safe method so that piece is always reverted to original move now. Also implemented on_take (diagonal moves) and on_first (two steps) for pawns.