bgscan: stop bgscan only on disassociaion

Stopping bgscan on any state other than COMPLETED results
in bgscan reset (stop + start) on every rekeying operation.

Signed-hostap: Eliad Peller <eliad@wizery.com>
bgscan_learn: avoid redundant frequencies

Some hw modes (e.g. 11b and 11g) contain the same frequencies,
causing the supp_freqs array to be populated with redundant entries.

Check for the existence of the freq before adding it.

Signed-hostap: Eliad Peller <eliad@wizery.com>
bgscan_learn: start scanning from the first freq

bgscan_learn_get_probe_freq() starts from returning
the second entry in the supp_freqs arrays.

Change its logic a bit to make it start from the first
entry.

Signed-hostap: Eliad Peller <eliad@wizery.com>