Implement king promotion
Fix moving on edge cases
Add board deep-duping