Fix building without SELINUX

since the scon is now a mandatory arg, it needs to exist even if
NULL

Change-Id: I8ba31a7a8cf357e9b0c43cee81ab49d3eb192819
toolbox: Add levelFromUid categorization support to restorecon

This is necessary for the app data relabeling on migrated devices
to include the proper app context. Freshly installed apps get this
done automagically, as do newly created files.

Change-Id: If7421dac01c6ae8bd78e66f71e69298ed850a7ab
fs_mgr: Drop the context mount option from non-selinux builds

Transitioning devices may have the context option present in the
fstab, even if we're not doing selinux builds.
Since we don't set or even create the contexts on those builds,
this will make mount fail, and either the mountpoint ends up absent,
or boot fails entirely

Change-Id: Ic5cc7f5632cc3d62459dfaaf7719d662737e1641
Fix failure to build from source with modern _host_ glibc/gcc.

One should not define __USE_GNU directly, and instead _GNU_SOURCE
should be defined as early as possible, before first (indirect)
inclusion of features.h

Change-Id: I4d109d4fa0c3d266b873d2a0a66a52e1a4faa234
Signed-off-by: Dmitrijs Ledkovs <dmitrijs.ledkovs@canonical.com>