machine: don't return uninitialized variable

Repotred by Ronny Chevalier
sysusers: fix uninitialized warning
vconsole-setup: run setfont before loadkeys

https://bugs.freedesktop.org/show_bug.cgi?id=80685
journal/compress: return early in uncompress_startswith

uncompress_startswith would always decode the whole stream, even
if it did not start with the given prefix.

Reallocation policy was also strange.
journal: add LZ4 as optional compressor

Add liblz4 as an optional dependency when requested with --enable-lz4,
and use it in preference to liblzma for journal blob and coredump
compression. To retain backwards compatibility, XZ is used to
decompress old blobs.

Things will function correctly only with lz4-119.

Based on the benchmarks found on the web, lz4 seems to be the best
choice for "quick" compressors atm.

For pkg-config status, see http://code.google.com/p/lz4/issues/detail?id=135.
compress: add benchmark-style test

This is useful to test the behaviour of the compressor for various buffer
sizes.

Time is limited to a minute per compression, since otherwise, when LZ4
takes more than a second which is necessary to reduce the noise, XZ
takes more than 10 minutes.

% build/test-compress-benchmark (without time limit)
XZ: compressed & decompressed 2535300963 bytes in 794.57s (3.04MiB/s), mean compresion 99.95%, skipped 3570 bytes
LZ4: compressed & decompressed 2535303543 bytes in 1.56s (1550.07MiB/s), mean compresion 99.60%, skipped 990 bytes

% build/test-compress-benchmark (with time limit)
XZ: compressed & decompressed 174321481 bytes in 60.02s (2.77MiB/s), mean compresion 99.76%, skipped 3570 bytes
LZ4: compressed & decompressed 2535303543 bytes in 1.63s (1480.83MiB/s), mean compresion 99.60%, skipped 990 bytes

 It appears that there's a bug in lzma_end where it leaks 32 bytes.
coredumpctl: show a useful error on permission problems
dhcp-network: add check for DHCP.chaddr

Check that received DHCP packets actually include our MAC address in
chaddr field. BPF interpreter has 32 bit wide registers but MAC address
is 48 bits long so we have to do check in two steps.
networkd: add support for peer address

This patch adds peer address support for
networkd . In the  [Address]  a new configurable
param is Peer.

[Match]
Name=ipip-tun

[Address]
Address=10.0.0.1/32
Peer=10.0.0.2/32
networkd: netdev - add missing refs

Without this, the underlying device would get freed (and hence
fail).
man: network - document Peer key
vconsole-setup: fix inverted error messages

Introduced in abee28c56d.

Pointed-out-by: Werner Fink <werner@suse.de>
udev: link_config - ignore errors due to missing MAC address

Otherwis, we get misleading error messages on links with MACs.

Reported by Leonid Isaev.
util: consider 0x7F a control chracter (which it is: DEL)

Let's better be safe than sorry.
main: explain our /etc empty check a bit in a comment
update TODO
shared: make timezone and locale enumeration and validation generic

This way we can reuse it other code thatn just localectl/localed +
timedatectl/timedated.
util: don't consider tabs special in string_has_cc() anymore

Instead, take a list of exceptions to our usual CC check
fileio: simplify write_env_file()
man: add missing archs to ConditionArchitecture= description