CA-102927: network monitor: better represent duplex mode for NIC bonds

For bonds, "duplex" is now defined as the "minimum" duplex of all bond
members that are up, where "half duplex" < "full duplex". If all members
are down, duplex is "unknown".

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
CA-102927: xe: when a PIF's carrier is down, report duplex as "unknown"

The PIF_metrics.duplex field in the DB is a Boolean, where "true" means
"full duplex" and "false" can either mean "half duplex" or "duplex unknown".

For links that are down, duplex used to be reported as "half", which is silly.

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Merge pull request #1135 from robhoes/ca102927

CA-102927: improvements to duplex reporting of PIFs