Make printHexBuffer non-static

This makes the function available for other code as well. It should
probably be moved out of Shell.cpp at some point, but for now let's just
leave it there.
Rewrite printHexBuffer to use a while loop

Previously, it used a for loop with a counter, introducing an extra
variable that wasn't really needed. This should be slightly more
efficient.

Additionally, this makes printHexBuffer work with > 255 bytes,
previously it used a uint8_t as the loop value.
Don't continue telehash init when UDP bind fails
Print raw received telehash packets

Additionally, use DEBUG_PRINTF instead of regular printf (the latter
doesn't do anything).
Read UDP data until the entire packet is read

Before, the read function would be called once, but if not all data was
received from the gainspan module yet, this would only return part of
the data.
Error out when a telehas packet fails to parse
Disable the regular TCP HQ connection

This makes debugging Telehash easier.