device: add generic named per-device property
The KPI allows to store arbitrary data within struct device, retrieve it
back by name, and update the value. The data is automatically destroyed
on the device deletion. Also, the user can request to clear the named
property from all devices.
My need for this interface is due to IOMMU needing to save some
indicator on device, which must survive the re-creation of the domain
context.
Reviewed by: imp
Discussed with: emaste
Sponsored by: Advanced Micro Devices (AMD)
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D46605