How to fetch piece and color by square, not xy

You have made really good progress towards the is-the-king-in-check function! But I keep getting confused while reading it about all of the `x` and `y` values, so I think it is time to start moving the code towards always using square designations like `c4` and `e8`. This pull request suggests how you could entirely hide the `x` and `y` behind a few new `Board` methods that, I think, would let your in-check code just glide along using columns and ranks and never having to use `x` or `y` at all. Try changing your code over to just using square names and see what happens!