Refactor rules, pend ai tests
Use Move object instead of string
Merge branch 'refactor_rules'
Pawn promotion
Castle moves
Merge branch 'special_moves'