A bunch of overdue changes, most importantly support for container-level validation via `pydantic-zarr`, which means two things:
- the parts of OME-NGFF metadata that refer to arrays, like `dataset.path`, can be checked to ensure that the references are valid, and the dimensionality of the arrays can be checked against the dimensionality of coordinate transformations.
- OME-NGFF defines a particular kind of Zarr group (one with specific attributes, and with particular members). We can now [model that group](https://github.com/JaneliaSciComp/pydantic-ome-ngff/blob/719572acabf81df4db17019f365b6051d639a7fb/src/pydantic_ome_ngff/v04/multiscale.py#L237), and use the model to create a corresponding zarr group.
There are also breaking changes, as I renamed a bunch modules because I hated the old names.
**Full Changelog**: https://github.com/JaneliaSciComp/pydantic-ome-ngff/compare/v0.3.0...v0.4.0