In the non-NCM examples, disable the NCM at boot

This prevents problems when the NCM was configured for autostart.
Clean up GSClientTLS example a bit
Clean up GSResponse enum

Two of its values were no longer used, but still present. Also remove
references to them from (outdated) comments.
Improve debug output

This makes sure that every byte read is printed with GS_DUMP_BYTES,
unlike before, when bytes were skipped in some cases. It also makes sure
that something is printed for <ESC>O and <ESC>F with GS_DUMP_LINES.
Allow assigning a cid to a GSClient instance
Fix response handling for bulk data frames

When sending a bulk data frame, the module sends the <ESC>O or <ESC>F
reponse after the cid is received, instead of after the entire packet as
previously expected. For short packets, this did you cause problems
(because there were 63 idle bytes before the actual response). However,
for longer packets, the response would be received while still sending
data, causing it to be discarded and the later readDataResponse() to
lock up. Also, in case of a failure, the module would interpret the data
sent as commands instead of data, potentially causing arbitrary
behaviour and problems.

Now, the code sends the first half of the escape sequence, waits for a
response, then continues to send the data. This increases the time it
takes for sending data (especially due to the 63 idle bytes problem),
but there seems to be no other reliable way to handle this.
Implement a timeout in readResponse and readDataResponse

Normally, a response should always be received and a timeout would
indicate a problem, but now at least the rest of the code can continue
instead of locking up completely.
Allow passing a hostname to setAutoConnectClient
Log a bit less with GS_LOG_ERRORS

During normal operation, this would sometimes also spam the serial port.
These messages have now been disabled by default, but can still be
enabled with GS_LOG_ERRORS_VERBOSE.