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