Refactor: fencing: abstract query results' device properties into own structure
Previously, device properties were stored directly in the query result structure,
as a list of device IDs and three hash tables of device ID to timeout, verified status,
and maximum random delay. Now, the device properties are gathered into a structure,
and the query result structure stores a hash table of those by device ID.
This major refactor has no effect now, but will be needed to store additional
information per device when remapping reboot to off+on later.