CC3000 stability

goes with https://github.com/tessel/firmware/pull/82

This branch fixes up several things:
* each http request now only uses 1 socket at a time instead of 2. The cc3k has problems freeing up its internal buffers when more than 1 socket is in use.
* axtls now handles the cc3k error codes properly
* switches socket sending to blocking when the CC3k has no buffers left over. This is now done in the socket layer otherwise axtls or c-ares tries to keep sending data which ends up bricking the cc3k. 
* implements different timeouts for different cc3k commands

For some reason ssl alert on close always makes a CC3k buffer get allocated and never freed. Thought it might be because the alert happens right before socket closing, but adding a longer timeout doesn't help. ssl alerts on close is disabled for now.
My bad, we should no longer be getting -2. The -1 is thrown specifically by the CC3k in this https://github.com/tessel/firmware/blob/master/src/cc3000/utility/socket.c#L130 when we run out of internal buffers on the chip.