Implement thiserror::Error for a bunch of error types, and remove string errors from the implementation of the command handler in explorer. Clean up parsing of basic types all over the place. Update Cargo files to include thiserror and anyhow.
Break up types in core into finer grained modules. Update all the imports.
I think this is sufficient.
Export Square, Rank, and File from the core crate.