CHROMIUMOS: wpa_supplicant: add fast reconnect support

When dropped by an AP for inactivity or because the session has timed
out, try to re-join directly before falling back to a full scan and
the normal work.  This reduces the time to re-join a network from 5-10
seconds to ~300ms + time to renew DHCP.

Note we cannot directly re-authenticate because by the time we issue
a request mac80211 has discarded the BSS state which is required to
process an MLME request.  Instead we scan the channel where we last
saw the AP and then use the normal join mechanism. Since this is not
true for all drivers it might be worthwhile to try a direct Auth first
and only then fall back to scanning.

BUG=chromium-os:10733
TEST=Roaming + manual tests

Review URL: http://codereview.chromium.org/6538036

Change-Id: I7f275ece747dfee26de18aa2b1c2dd370abae9ad
2 files changed