Reorganize errors

The module name exceptions conflicted with a builtin module, prompting the
renaming to errors.
Implement capturing
Move logic for check detection to Field
Rename Player's other_player to opponent