journal: sd_journal_get_cursor should return 0 on success

Documentation states that 0 is correct, and all other
similar functions return 0 on success.

Pointed-out-by: Steven Hiscocks <steven-systemd@hiscocks.me.uk>
systemctl: make "systemctl default" use "isolate" job mode

"systemctl default" should behave identically to "telinit N" (where N is the
corresponding runlevel target number), therefore it should use isolate job mode
too.
core, systemctl: add support for irreversible jobs

Add a new job mode: replace-irreversibly. Jobs enqueued using this mode
cannot be implicitly canceled by later enqueued conflicting jobs.
They can however still be canceled with an explicit "systemctl cancel"
call.
systemctl: make shutdown operations use irreversible jobs

Occasionally people report problem with reboot/poweroff operations hanging in
the middle. One known cause is when a new transaction to start a unit is
enqueued while the shutdown is going on. The start of the unit conflicts with
the shutdown jobs, so they get cancelled. The failure case can be quite unpleasant,
becase getty and sshd may already be stopped.

Fix it by using irreversible jobs for shutdown (reboot/poweroff/...) actions.
This applies to commands like "reboot", "telinit 6", "systemctl reboot". Should
someone desire to use reversible jobs, they can say "systemctl start reboot.target".`
systemctl: generalize action table to be usable in more action<->verb mappings

Should be no functional change.
TODO: drop two items
build-sys: move systemd-analyze to /usr/bin
test: test irreversible jobs
nspawn: catch config mistake of specifying -b and args
journal: fix --until

https://bugs.freedesktop.org/show_bug.cgi?id=58946
build: remove explicit -shared in LDFLAGS

This doesn't need to be passed, as it's handled by libtool. Since the
default for autoconf is --disable-static, this change is effectively a
noop. It only matters if you pass --enable-static, in which case the
static libs for systemd libraries will actually be built.

Nitpicky, but this only affects systemd libs. The override for the
other libs remains since these libs are always loaded dynamically and
never compiled staticly.
query for user unit information in the journal

Add --user-unit= to make it possible to query for user logs by the name
of the service.