Additional guard on QMI support

Change-Id: Ib03062ec7713f93b208dcd0650921e713abe169f
Additional format support

Change-Id: I4e5fea21135f7dd609b8cc0b1577265d29f58f71
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.

Change-Id: I30a1f9a8760dcd19761d473cedb2104b7b33069c
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.

Change-Id: Ie38cb5d3724223b2ec1ae45e6a9a4f2285229731