nbd-server reports 'negotiation failed' after 'nbd-client -l', and fails on next connection

When a client requests an export list from the server,
the latter issues the message 'Error: negotiation failed'.
This is rather confusing, as the only 'problem' is (AFAICT)
that the negotiation phase did everything.

On a subsequent attempt to connect a block device, the server
fails altogether:
Client output:
	--------------------
	nasc0:root ~ 216 # /tmp/nbd-client.master -l nass0
	Negotiation: ..
	nasc0-nbd0
	nasc0:root ~ 217 # /tmp/nbd-client.master nass0 -N nasc0-nbd0 /dev/nbd0
	Negotiation: ..size = 856941734MBError: Exported device is too big for me. Get 64-bit machine :-(

	Exiting.
	--------------------
Server output:
	--------------------
	nass0:root ~ 135 # /tmp/nbd-server.master -d -C /etc/nbd-server/config
	Error: negotiation failed
	Exiting.
	Error: Read failed: Connection reset by peer
	Exiting.
	--------------------
From a tcpdump, it can be observed that the syslog messages end up
on the client socket, which makes the client choke, naturally.

I tested this for the latest git version, and the same problem
occurs. I have traced the problem to the fact that negotiate(),
in two locations, closes the socket, and returns NULL , after which
serveloop also closes it, actually closing the syslog socket instead.
The next accept() returns that same filedescriptor, which syslog()
still thinks it owns.

Note: I added the message 'Session terminated by client', because
the 'ABORT' might also be intended to be used as an irregular
end-of-session (in the future?), besides indicating a regular
end-of-session after a LIST.

--------------------------------------------
Update manpage to reflect reality

Originally, it wasn't allowed to specify both a port and a name. It is
now, so update the manpage.
Clarify error handling.

While working with nbd-server, I tried to allow the clients to
fetch a list of exports. After including the following in the
generic section of /etc/nbd-server/config:
	[generic]
		# other lines ...
		allowlist
nbd-server refused to start, complaining there were no configured
exports, even though there were:
	nass0:root ~ 17 # nbd-server -d
	** Message: No configured exports; quitting.

Obviously, the line should read 'allowlist = 1', but It would be
helpful if nbd-server detected the error, and complained about
that instead of (apparently) ignoring the rest of the config file,
and issuing the confusing complaint about no configured exports.

I also tried 'allowlist = yes'. In that case it gives a
descriptive message, although it still confusingly and incorrectly
complains that there are no exports:
	nass0:root ~ 14 # nbd-server -d

	** (process:3482): WARNING **: Could not parse config file: Could not parse allowlist in group
generic: Key file contains key 'allowlist' which has a value that cannot be interpreted.
	** Message: No configured exports; quitting.

The cause seems to be that g_key_file_load_from_file fails not only
if the file cannot be found or read, but also if it contains syntax
errors.

Original patch by Rogier <rogier777@gmail.com>, but reworked enough by
$SELF that it isn't the same thing anymore.
Remove cryptic error

We already made it slightly less cryptic when you tried to connect to a
newstyle server without a name for the export. Do the same for the
reverse, too.