Minor refactor in attacks?

Now that we're putting a dummy piece on the board we only need to
check for capturing moves
Use an interface for attacking-square

Moves a good amount of logic into .moves