gitignore: Add test-journal-interleaving
build-sys: add 'man' target

Useful when working just on the documentation.
journal: use initialization instead of zeroing
journald: do not calculate free space too early

Since the system journal wasn't open yet, available_space() returned 0.

Before:
systemd-journal[22170]: Allowing system journal files to grow to 4.0G.
systemd-journal[22170]: Journal size currently limited to 0B due to SystemKeepFree.

After:
systemd-journal[22178]: Allowing system journal files to grow to 4.0G.
systemd-journal[22178]: Journal size currently limited to 3.0G due to SystemKeepFree.

Also, when failing to write a message, show how much space was needed:
"Failed to write entry (26 items, 260123456 bytes) despite vacuuming, ignoring: ...".
man: add sd_j_open_files to return values section
man: improve readability of "_TRANSPORT=" section in systemd.journal-fields(7)

The list and descriptions of valid transports was difficult to read, so
break the long sentence up into discrete man page list items to improve
readability.
systemd-analyze: Show critical chains for listed units
man: update systemd-analyze invocation
journalctl,loginctl,systemctl,systemd-cgls: add -l as alias for --full

https://bugs.freedesktop.org/show_bug.cgi?id=65850
rpm: define a %_userunitdir macro
mount: when learning about the root mount from mountinfo, don't add conflicting dep for umount.target

That way systemd won't try to umount it at shutdown.
rules: only run systemd-sysctl when a network device is added

Otherwise, when a network device is renamed, systemd-sysctl is run twice
with the same network device name: once for ACTION="add" and once for
ACTION="move".
core: add new .slice unit type for partitioning systems

In order to prepare for the kernel cgroup rework, let's introduce a new
unit type to systemd, the "slice". Slices can be arranged in a tree and
are useful to partition resources freely and hierarchally by the user.

Each service unit can now be assigned to one of these slices, and later
on login users and machines may too.

Slices translate pretty directly to the cgroup hierarchy, and the
various objects can be assigned to any of the slices in the tree.
units: add default units for system.slice, user.slice, machine.slice
core: expose a "Slice" property on Unit objects on the bus
core: unref slice ref after use
udev: handle network controllers in nonstandard domains

Onboard network controllers are not always on PCI domain 0.

[Kay: use int instead of long, add [P] to slot naming, remove sysname var]
journalctl: properly print headers of empty journals
update TODO
journal: add references to SSKG paper FSS is based on