kicking cc3k

This PR does 2 things:

* kicks out of a forever loop if we miss an IRQ
* correctly tracks sockets closing
`if (tm_uptime_micro() - ccStartTime >= CC3000_BLOCKS_WAIT)`

The subtraction unwraps it:
```
(gdb) p (unsigned) 0x2 - (unsigned) 0xFFFFFFFE
$1 = 4
```

so the timer can wrap and it's fine until the *difference* overflows. The busy-wait loop better not take more than 71 minutes per iteration, so the timeout will hit and the loop will exit shortly after CC3000_BLOCKS_WAIT, well before that overflow.