First of all, 'local' is non-POSIX, but it is a really good safeguard
against hard-to-find bugs. However, doing a local + initializing combo
like `local X=$Y` in dash is error prone. If `Y=1 2` will get an error
since dash will expand $Y so we get `local X=1 2`, but it will treat
the "2" as another variable to be made local, which isn't what we
want. Hence, let's declare variables local and initialize them in
separate commands, which is safe.

I.e. treat the case where a backing media already had been mounted in
the expected place like a success (by printing the mount dir). This
doesn't fix any bug in live-boot, but it will come in handy for the
(soon-to-come) script for activating custom persistence in user-space.

Exposing /lib/live/mount/persistence in user-space is highly relevant
for the (soon-to-come) tool for activating persistence post-initramfs.
We want to use the same persistence code for both scenarios, and avoid
using different cases for them, so we make it only use /lib/live.

Similarly we also make sure that persistence modes using unions use
the same copy-on-write dir or "overlay" (i.e. /lib/live/mount/overlay)
in order to make them work as intended.

Stopping to put a tmpfs on /root/lib/live from within initramfs, it over-'layered' most prominently the live systems /lib/live/config, making the runtime configuration impossible and the tmpfs is not used or needed in the first place anyway.