Patched TCP receive

Firstly:
C99  and  POSIX.1-2001  specify  that  the results are undefined if a call to sprintf(), snprintf(), vsprintf(), or vsnprintf() would cause copying to take place between objects that overlap (e.g., if the target string array and one of the supplied input arguments refer to the same buffer). 

Secondly:
The stack on the NIOS is 2048 bytes long.  And we economized one copy, return an error on buffer overflow, and don't use string functions on data that's not (yet) logically a string.