Extend `Struct.field_set()` so that the `path` type can be a
`dna.FieldPath`, to mirror `Struct.field_get`'s `path` type, and allow
users to set file-block's subproperties. For example this allows
setting `object_block[(b'id', 'name')]`.
Also, along the way, added a test for getting subproperty value.
Reviewed-on: https://projects.blender.org/blender/blender-asset-tracer/pulls/92899