Move beacon update to a workqueue

Not ideal, but we need commands to happen in process context
(sdio requirement) and, although the irq is also in the correct
context in ksdioirqd, we cannot take the command mutex since it
may already be held by a process waiting for the response, causing
an A-A deadlock.  Because one-command-in-flight is a fw
requirement, we must defer the update until after any in-progress
commands.

Signed-off-by: Bob Copeland <me@bobcopeland.com>