IEEE 802.15.4: remove get_bsn from "struct ieee802154_mlme_ops"

It served no purpose: we never call it from anywhere in the stack
and the only driver that did implement it (fakehard) merely provided
a dummy value.

There is also considerable doubt whether it would make sense to
even attempt beacon processing at this level in the Linux kernel.
ieee802154/nl-mac.c: make some MLME operations optional

This makes documented use of "struct ieee802154_mlme_ops" follow
current use, in which some operations are regularly left out,
making them NULL. Since the calls did not check for NULL, any
attempted use caused an oops.

This patch makes the following operations optional and returns
EOPNOTSUPP if their use is attempted: assoc_req, assoc_resp,
disassoc_req, start_req, and scan_req.

The following operations are still required: get_phy, get_pan_id,
get_short_addr, and get_dsn.

Note that the places where this patch changes the initialization
of "ret" should not affect the rest of the code since "ret" was
always set (again) before returning its value.
Merge branch 'mlme-oops-fix'

Conflicts:
	net/ieee802154/nl-mac.c