fix test program
when IRKit is repeatedly receiving noise IR signals,
IRKit repeatedly POST agains internet server,
on the same time, GET /m returns successfully,
but next polling request (GET /m) 's AT+NCTCP fails with
ERROR: SOCKET FAILURE 0
we can't just setup again, and our firmware might be in a weird state -> so let's software reset
don't setupMDNS if not listening,
setupMDNS just does sends some commands, but all just fails
400 -> 512
refactor
continous timeouts -> AVR software reset
GS software reset didn't work when we encountered "ERROR: SOCKET FAILURE 0"
see https://gist.github.com/mash/080bd869d5bd10e90df5
UART line powers GS and pulls 3.3V line up to around 1.4V,
when UART TX is enabled (pulled up),
so disable it before GS hardware reset
let go earlier
refactor
GSwifi can listen on non 0 cid,
fixed bug that IRKit always resets after morse and join to wifi successfully finished.
when we listen on 80 after join to infrastructure wifi, GS responds with CID: 1
because CID: 0 is used to listen on 80 for limitedap mode.
Merge branch 'master' into increase-sharedbuffer-size512

Conflicts:
	firmware/src/IRKit/IRKit.ino
oops, comments
somehow it passes
if (connected_cid_ == CID_UNDEFINED) { ... }
condition and writes handlers_[ -1 ],
so carefully check cid before using it
program memory..
Merge branch 'increase-sharedbuffer-size512'
utility scripts to decode packed IR data
short IR probably be noise
reduce POST /p to internet server, to make IRKit more stable and internet server more light
Merge branch 'dev-v1.3.2'