Added create_* factories in zarr_metadata.builder, one per public
document TypedDict (create_zarr_v3_array_metadata_json,
create_zarr_v3_group_metadata_json, create_zarr_v3_consolidated_metadata_json,
create_zarr_v2_array_metadata_json, create_zarr_v2_group_metadata_json,
create_zarr_v2_zarray_json, create_zarr_v2_zgroup_json,
create_zarr_v2_consolidated_metadata_json), each taking
**kwargs: Unpack[<TypedDict>]. Each factory copies and normalizes its
input, runs structural and composition validation, and raises one
MetadataValidationError containing all problems. The strict on-disk
.zarray/.zgroup factories reject attributes at runtime, and the v2
consolidated factory validates each entry against the document shape its
path suffix selects. The open v3 array/group factories take an
extensions= mapping for extension fields (for type checkers without PEP
728 support) and reject names that shadow standard fields.