Scan for clients in a separate thread.  Added short sleep period to ensure that newly connected/disconnected clients have had some time to actually connect/disconnect.
Improved message builder so that it only clears the list of clients when the wifi_ap is connected/disconnected
Added client scan receiver to execute when wifi state changes.  Unregister all listeners when activity destroys.