BoardFile yields EmptySquares instead of nils.
CoordinateCollection changes

- Remove #compact
- Replace bang methods with ones that return new objects.
Board#pieces method
Marshal Clone Module, CoordinateCollection#include?

- Move Marshal cloning to its own module.
- CoordinateCollection#include?