build-sys: use _FORTIFY_SOURCE with new gcc level -Og
initctl: fix return from unitialized memory in error path

src/initctl/initctl.c: In function 'server_init':
src/initctl/initctl.c:282:13: warning: 'r' may be used uninitialized in this function [-Wmaybe-uninitialized]
         int r;
             ^
bootchart: fix two unitialized memory frees

The new gcc isn't bad!

In file included from src/bootchart/svg.c:36:0:
src/bootchart/svg.c: In function 'svg_ps_bars':
./src/shared/util.h:524:13: warning: 'enc_name' may be used uninitialized in this function [-Wmaybe-uninitialized]
         free(*(void**) p);
             ^
src/bootchart/svg.c:821:37: note: 'enc_name' was declared here
                 char _cleanup_free_*enc_name;
                                     ^
  CC     src/udev/mtd_probe/mtd_probe-probe_smartmedia.o
  XSLT     man/systemd.unit.5
In file included from src/bootchart/svg.c:36:0:
src/bootchart/svg.c: In function 'svg_pss_graph':
./src/shared/util.h:524:13: warning: 'enc_name' may be used uninitialized in this function [-Wmaybe-uninitialized]
         free(*(void**) p);
             ^
src/bootchart/svg.c:395:37: note: 'enc_name' was declared here
                 char _cleanup_free_*enc_name;
                                     ^
shutdownd: shut up bogus gcc warning

This one is fake. But let's kill it, avoiding two condition checks
in the process.

src/shutdownd/shutdownd.c: In function 'when_wall':
src/shutdownd/shutdownd.c:182:44: warning: 'sub' may be used uninitialized in this function [-Wmaybe-uninitialized]
         return elapse > sub ? elapse - sub : 1;
                                            ^
efivars: fix return code

Was returning 1 on read error.
systemd-python: export sd_journal_get_usage
systemd-python: cleanup up usec_t handling

The behaviour wrt. seconds vs. microseconds was inconsistent.
Now _Reader always uses native units (us), while Reader always
uses seconds and accepts both floats and ints. This way the
conversion is always done in the Python layer, and the lower
level API allows access to the journal API without the potentially
lossy conversion between double and uint64_t.
systemd-python: implement _Reader.test_cursor

Getting the cursor is split out from .get_next() into
.get_cursor(). This mirrors the C API more closely, and
also makes things a bit faster if the cursor is not needed.
systemd-python: split out realtime and monotonic into separate functions

This matches the C API more closely, and also enables the
user to get just partial information, should she desire to
do so.

Functions names in error messages are modified to not include
the class name, because Python uses just the function name
into functions declared as METH_NOARGS, and error messages
were inconsistent.
systemd-python: allow retrieval of single fields

This can give huge efficiency gains, e.g. if only MESSAGE
is required and all other fields can be ignored.
man/shutdown: /etc/nologin is called /run/nologin now
Fix vacuum logic error

The vacuum code used to stop vacuuming after one deletion, even
when max_use was still exceeded.

Also make usage a uint64_t, as the code already pretends it is one.

Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
main: don't mount cgroup controller unless PID == 1

This completes c1dae1b3c9729fb8ab749dd4e2dad07e0fad7ed8 in a way.
main: use strv_find() where we can
mount: mount all cgroup controllers in containers, too