PXELINUX: Use the client-identifier instead when DHCP doesn't have a MAC.
For networks without a stable MAC, or where the MAC is just way too long,
the MAC length in the DHCP header is zero and we are supposed to use
the client-identifier instead. Use that as the "interface address"
for the purpose of getting the config file and in the BOOTIF= option.
Right now I have a limit (MAC_MAX) of 32 bytes for this; since that
turns into a 99-character filename.
While we're at it, clean up the parsing of DHCP config options.