BUG/MINOR: syscall: fix NR_accept4 system call on sparc/linux

An invalid copy-paste called it NR_splice instead of NR_accept4.
This does not lead to real issues because if this define is used,
then the code cannot compile since NR_accept4 is still missing.
BUILD/MINOR: syscall: add definition of NR_accept4 for ARM

This platform was not covered and older libc do not provide accept4().
MINOR: config: report missing peers section name

Right now we report "invalid character ''" which is a bit confusing,
better make a special case of the missing name.
BUG/MEDIUM: tools: fix bad character handling in str2sa_range()

Commit d4448bc8 brought support for parsing port ranges, but invalid
characters are not properly handled and can result in a crash while
parsing the configuration if an invalid character is present in the
port, because the return value is set to NULL then dereferenced.
BUG/MEDIUM: ssl: ECDHE ciphers not usable without named curve configured.

Fix consists to use prime256v1 as default named curve to init ECDHE ciphers if none configured.
BUG/MEDIUM: stats: never apply "unix-bind prefix" to the global stats socket

The "unix-bind prefix" feature was made for explicit "bind" statements. Since
the stats socket was changed to use str2listener(), it implicitly inherited
from this feature. But both are defined in the global section, and we don't
want them to be position-dependant.

So let's make str2listener() explicitly not apply the unix-bind prefix to the
global stats frontend.

This only affects 1.5-dev so it does not need any backport.
MINOR: tools: prepare str2sa_range() to return an error message

We'll need str2sa_range() to return address parsing errors if we want to
extend its functionalities. Let's do that now eventhough it's not used
yet.
BUG/MEDIUM: checks: don't call connect() on unsupported address families

At the moment, all address families supported on a "server" statement support
a connect() method, but this will soon change with the generalization of
str2sa_range(). Checks currently call ->connect() unconditionally so let's
add a check for this.
MINOR: tools: prepare str2sa_range() to accept a prefix

We'll need str2sa_range() to support a prefix for unix sockets. Since
we don't always want to use it (eg: stats socket), let's not take it
unconditionally from global but let the caller pass it.
MEDIUM: tools: make str2sa_range() parse unix addresses too

str2sa_range() now considers that any address beginning with '/' is a UNIX
address. It is compatible with all callers at the moment since all of them
perform this test and use a different parser for such addresses. However,
some parsers (eg: servers) still don't check for unix addresses.
MEDIUM: config: make str2listener() use str2sa_range() to parse unix addresses

Now that str2sa_range() knows how to parse UNIX addresses, make str2listener()
use it. It simplifies the function. Next step consists in unifying the error
handling to further simplify the call.

Tests have been done and show that unix sockets are correctly handled, with
and without prefixes, both for global stats and normal "bind" statements.
MEDIUM: config: use a single str2sa_range() call to parse bind addresses

str2listener() now doesn't check the address syntax, it only relies on
str2sa_range() to retrieve the address and family.
MEDIUM: config: use str2sa_range() to parse log addresses

str2sa_range() is now used to parse log addresses, both INET and
UNIX. str2sun() is not used anymore.
CLEANUP: tools: remove str2sun() which is not used anymore.
MEDIUM: config: add complete support for str2sa_range() in dispatch

The dispatch statement now completely relies on str2sa_range() to parse
an address.
MEDIUM: config: add complete support for str2sa_range() in server addr

The server addr statement now completely relies on str2sa_range() to
parse an address.
MEDIUM: config: add complete support for str2sa_range() in 'server'

The server addresses are now completely parsed using str2sa_range()
and the resulting protocol is checked for support for connect().
MEDIUM: config: add complete support for str2sa_range() in 'peer'

The peer addresses are now completely parsed using str2sa_range()
and the resulting protocol is checked for support for connect().
MEDIUM: config: add complete support for str2sa_range() in 'source' and 'usesrc'

The 'source' and 'usesrc' statements now completely rely on str2sa_range() to
parse an address. A test is made to ensure that the address family supports
connect().
CLEANUP: minor cleanup in str2sa_range() and str2ip()

Don't use a statically allocated address both for str2ip and str2sa_range,
use the same. The inet and unix code paths have been splitted a little
better to improve readability.