bcmxcp: Only include ups.serial and device.part if they have a value

Only set info about ups.serial and device.part if the UPS actually report useful info for these.
Remove the handling of space characters as meaning string termination for ups.serial, this is
not done for part number, and according to bcmxcp spec are these both 16 byte ascii text messages.
Move Nominal output frequence handling up, placing it just below Nominal output voltage
bcmxcp: Refactor code for setting which alarms are supported, to avoid code duplication

Refactor the code which checks the alarm map for supported alarms, by making a new
method which checks the alarm bit to see if the alarm is supported.
bcmxcp: Output unsupported alarms on debug level 3, not level 2

The supported alarms in alarm map is outputted at debug level 2.
The unsupported alarms should be outputted at debug level 3, it is not that interesting.
Also remove debug outputted empty line after table heading line for meter map and alarm map.
bcmxcp: Cosmetic commentary fixes and remove some empty lines. No code changes
bcmxcp: Use info_lkp_t structure for mapping topology info

Make code simpler by using the info_lkp_t structure for mapping value from
topology block to text presented to user as ups.description
bcmxcp: Use command map to control which instcmd are supported

Use the command map info retrieved from UPS to list all commands supported
by the UPS at debug level 2.
Use the info from command map to set up which instcmd the UPS supports.
bcmxcp: Cosmetic changes constant definitions. No code changes.
bcmxcp: Remove PW_UPDATE_POWER_SOURCE_STATUS_COMMAND, it seems very unlikely to be used
bcmxcp: Add parameter to nut_find_infoval to control debug output

We do not want debug output if nut_find_infoval does not find a mapped
value in all cases. For example, when a command byte is not mapped to a instcmd,
we do not want debug output.