Additional guard on QMI support
Additional format support
Build and dlopen wcnss_qmi_client as a shared library

* Allows us to decouple QMI from wcnss_service for those devices that
  rely on QMI features for wcnss.
Generate a fixed random mac address if the NV doesn't provide one

If the NV is corrupted or blanked out, QMI won't return a MAC address
and prima will fallback to a fixed one. If the board defines a
TARGET_WCNSS_MAC_PREFIX value (2 to 4 hex values), use that prefix
to generate a random (and persistent) hwaddr instead.

For "TARGET_WCNSS_MAC_PREFIX := 0a0b0c0d", the last 2 bytes will be
pseudo-randomized, and the final address will be in the
"0a:0b:0c:0d:XX:YY" format.