MEDIUM: listener: add support for linux's accept4() syscall

On Linux, accept4() does the same as accept() except that it allows
the caller to specify some flags to set on the resulting socket. We
use this to set the O_NONBLOCK flag and thus to save one fcntl()
call in each connection. The effect is a small performance gain of
around 1%.

The option is automatically enabled when target linux2628 is set, or
when the USE_ACCEPT4 Makefile variable is set. If the libc is too old
to provide the equivalent function, this is automatically detected and
our own function is used instead. In any case it is possible to force
the use of our implementation with USE_MY_ACCEPT4.
DOC: ssl: remove prefer-server-ciphers documentation

Commit 3c4bc6e1 removed the prefer-server-ciphers statement.
Therefore, the statement should also be removed from the documentation.
DOC: ssl: surround keywords with quotes

In order to make external tools easily detect keywords in the documentation,
let's surround them by quotes as it is done for other keywords.
MINOR: halog: sort output by cookie code

It's sometimes useful to have the output sorted by cookie code to see
the ratios of NI vs VN for example. This is now possible with -cc.
BUG/MINOR: halog: -ad/-ac report the correct number of output lines

There was a lines_out++ left from earlier code, causing each input
line to be counted as an output line.

This fix also affects 1.4 and should be backported.
BUG/MINOR: halog: fix help message for -ut/-uto

Erroneous copy-paste suggesting wrong option.
MINOR: halog: add a parameter to limit output line count

Sometimes it's useful to limit the output to a number of lines, for
example when output is already sorted (eg: 10 slowest URLs, ...). Now
we can use -m for this.
BUILD: accept4: move the socketcall declaration outside of accept4()

Gcc 4.2.4 breaks on the syscall declared inside the function, move it
outside and declare it static inline.
MINOR: server: add minimal infrastructure to parse keywords

Just like with the "bind" lines, we'll switch the "server" line
parsing to keyword registration. The code is essentially the same
as for bind keywords, with minor changes such as support for the
default-server keywords and support for variable argument count.
MINOR: standard: make indent_msg() support empty messages

indent_msg() is called with dynamically generated messages, so these
may be empty (NULL) when an empty list is being dumped. Support this
and return a NULL too.
MEDIUM: server: check for registered keywords when parsing unknown keywords

At this point, no server keyword is registered yet. The help line does
not report supported keywords anymore since it lists the registered ones
only.
MEDIUM: server: move parsing of keyword "id" to server.c

This is the first keyword to be moved to server.c.
BUG/MEDIUM: config: check-send-proxy was ignored if SSL was not builtin

Improper insertion within #if/#endif SSL causes the check-send-proxy state
not to be automatically enabled if SSL is disabled at build time.
MEDIUM: ssl: move "server" keyword SSL options parsing to ssl_sock.c

All SSL-specific "server" keywords are now processed in ssl_sock.c. At
the moment, there is no more "not implemented" hint when SSL is disabled,
but keywords could be added in server.c if needed.
BUG/MINOR: ssl: Fix issue on server statements 'no-tls*' and 'no-sslv3'

bit field collision with 'force-tlsv*'.
MINOR: ssl: move ssl context init for servers from cfgparse.c to ssl_sock.c
MEDIUM: ssl: reject ssl server keywords in default-server statement

At the moment they are ignored, but they were not rejected so they could
cause confusion in some configurations.
MINOR: ssl: add statement 'no-tls-tickets' on server side.
MINOR: ssl: add statements 'verify', 'ca-file' and 'crl-file' on servers.

It now becomes possible to verify the server's certificate using the "verify"
directive. This one only supports "none" and "required", as it does not make
much sense to also support "optional" here.
DOC: Fix rename of options cafile and crlfile to ca-file and crl-file.