Most IEEE 802.15.4 drivers do not support promiscuous mode, some do.
There is a dedicated L2 flag to signal this capability to clients.
Unfortunately none of the supporting IEEE 802.15.4 drivers actually announced its
capability and some clients (notably the OpenThread L2) even uses
promiscuous mode without checking whether the driver actually supports
it.
This change extends the internal radio API so that drivers can announce
non-default L2 capabilities on initialization. The vanilla IEEE 802.15.4
uses this flag to correctly announce promiscuous mode on its 'get_flags()'
interface.
The OpenThread L2 uses a constant (potentially incorrect) response
to 'get_flags()'. Fixing the OpenThread L2 is out of scope of this
issue. Please open a separate follow-up issue if this should be addressed,
see the corresponding TODO-comments in the attached commit.
Fix follows.