Socks5: handle truncated client requests correctly

Previously, our code would send back an error if the socks5 request
parser said anything but DONE.  But there are other non-error cases,
like TRUNCATED: we shouldn't send back errors for them.

This patch lowers the responsibility for setting the error message
into the parsing code, since the actual type of the error message
will depend on what problem was encountered.

Fixes bug 40190; bugfix on 0.3.5.1-alpha.
7 jobs for bug40190_035 in 50 minutes and 19 seconds (queued for 46 seconds)
latest
Status Job ID Name Coverage
  Test
passed #7134
debian-disable-dirauth

00:04:56

passed #7131
debian-distcheck

00:11:11

passed #7132
debian-docs

00:07:30

failed #7130
debian-hardened

00:12:08

passed #7133
debian-integration

00:21:46

passed #7129
debian-minimal

00:09:21

passed #7135
debian-nss

00:04:42

 
Name Stage Failure
failed
debian-hardened Test
make[1]: Target 'all-am' not remade because of errors.
make: *** [Makefile:5795: all] Error 2
ERROR: command 'make -j4 -k all' has failed.
Uploading artifacts for failed job
Uploading artifacts...
artifacts/: found 1 matching files and directories

Uploading artifacts as "archive" to coordinator... ok
id=7130 responseStatus=201 Created token=TELKYePx
Cleaning up file based variables
ERROR: Job failed: exit code 1