socket: add support for TCP fast Open

TCP Fast Open (TFO) speeds up the opening of successiveTCP)
connections between two endpoints.It works by using a TFO cookie
in the initial SYN packet to authenticate a previously connected
client. It starts sending data to the client before the receipt
of the final ACK packet of the three way handshake is received,
skipping a round trip and lowering the latency in the start of
transmission of data.
networkd: link - print address lifetime for tracked addresses

This should help in debugging issues with DHCP lease renewal.
networkd: link - don't enter LINK_CONFIGURED more than once
Revert "socket: add support for TCP fast Open"

This reverts commit 9528592ff8d7ff361da430285deba8196e8984d5.

Apparently TFO is actually the default at least for the server side now.

Also the setsockopt doesn't actually take a bool, but a qlen integer.
analyze: some fixes to the --help text
update TODO
core: move status line ellipsation to 50% of the line

http://lists.freedesktop.org/archives/systemd-devel/2014-July/021591.html
update TODO
core: do not add default dependencies to /usr mount unit

This makes no difference if /usr was mounted in the initrd,
and brings the behaviour of legacy systems closer to those
with a propper initrd.
update TODO
resolved: clarify that LLMNR scopes must have a link assigned

This is supposed to remove some compiler warnings:

http://lists.freedesktop.org/archives/systemd-devel/2014-July/021393.html
machine_kill(): Don't kill the unit when killing the leader

If "machinectl poweroff" or "machinectl reboot" is used on a
systemd-nspawn container started with --keep-unit and --register, it
should *only* send the appropriate signal to the leader PID (i.e. the
container's systemd process). It shouldn't fall through to
manager_kill_unit() to also send the signal to the unit. The latter
ends up killing systemd-nspawn, which takes down the container
prematurely.
sd-network: add sd_network_linkg_get_domains()

For now this only exposes the domain name (DHCP Option 15), and not
the search string (DHCP Option 119), which will be implemented in
a follow-up patch.
resolved: pull in domain names from sd-network
sd-dhcp-lease: verify hostname and domainnames we receive
networkd: don't respect domainname from DHCP by default

Most routers will send garbage, so make this opt-in only.
core: Refuse mount on symlink
update TODO
socket: Add Support for TCP keep alive variables

The tcp keep alive variables now can be configured via conf
parameter. Follwing variables are now supported by this patch.

tcp_keepalive_intvl: The number of seconds between TCP keep-alive probes

tcp_keepalive_probes: The maximum number of TCP keep-alive probes to
send before giving up and killing the connection if no response is
obtained from the other end.

tcp_keepalive_time: The number of seconds a connection needs to be
idle before TCP begins sending out keep-alive probes.
socket: Add support for TCP defer accept

TCP_DEFER_ACCEPT Allow a listener to be awakened only when data
arrives on the socket. If TCP_DEFER_ACCEPT set on a server-side
listening socket, the TCP/IP stack will not to wait for the final
ACK packet and not to initiate the process until the first packet
of real data has arrived. After sending the SYN/ACK, the server will
then wait for a data packet from a client. Now, only three packets
will be sent over the network, and the connection establishment delay
will be significantly reduced.