Updated RGB Led interactions for controlling the connection and various Bug Fixes

Following changes as per requirements discussed:

from breathing white, user calls WiFi.on() => breathing blue
from breathing white, user calls WiFi.connect() => blinking green
from breathing cyan, user calls WiFi.disconnect() => breathing blue

If the Wi-Fi module is on, and we're breathing blue, calling WiFi.connect() should blink green until we get a DHCP address, when we should start breathing green.

Calling Spark.connect() from any state should perform any intermediary actions automatically. The Wi-Fi module should turn on if necessary, should connect to a network if necessary.

Additionally, calling Spark.sleep(seconds) will turn off the CC3000 with immediate effect.