[RHEL7] Begin support RHEL 7 3.10 kernel: Support CONFIG_UIDGID_STRICT_TYPE_CHECKS kernel option.

TODO: Fix unit tests memory errors.

[+RS]

[git-p4: depot-paths = "//dev/talpa/main/": change = 2389955]
[CentOS 5] Fix for 2.6.18 kernels with some of the changes for later kernels.

Add m_seq for lock and unlock.
Correct struct filename detection code.

[+DLCL]

[git-p4: depot-paths = "//dev/talpa/main/": change = 2391646]
[DEF95174] Fix kernel panic if calling mount with a NULL device path.

It is possible for userspace to call mount() with a NULL device path, which the kernel handles ok (valid for e.g. procfs).
We used to handle this by getting an -EFAULT from the getname() call (not able to access 0).
However we needed to change this behaviour due to the struct filename changes (getname not suitable for generic userspace to kernel-space string copy), and we changed the NULL behaviour to replicate the NULL instead of failing at this point.
We don't need to do the pre-mount scan, as that is for boot-sectors and there needs to be a device for there to be a boot-sector.
Returning -EFAULT allows the mount to complete successfully.

[+DLCL]

[git-p4: depot-paths = "//dev/talpa/main/": change = 2391651]
[2.6.16] SLES 11 SP4 - gcc doesn't like bool, without our bool header.

[+DLCL]

[git-p4: depot-paths = "//dev/talpa/main/": change = 2391670]
[DEF95174][SUG95287][RHEL7] RHEL7 talpa fixes and bug fixes.

[SUG95287] RHEL7 support - Handle kernel without CONFIG_DEBUG_RODATA but with CONFIG_DEBUG_SET_MODULE_RONX - so modules are read-only (and need mapping), but the main kernel is Read-Write so doesn't need the mapping. Generically determine of the probe function is available and use it if it is. Handle /bin/bash == /usr/bin/bash and /sbin/init == /lib/systemd... Use /etc/fstab instead of /sbin/init

[DEF95174] - further testing showed that returning -EFAULT prevented the mount, which would succeed without Talpa enabled. Now it returned 0 if there is no device. (no boot sector present so no scanning required). Added unit test.

Reduce error messages to dbg where they are produced in common usage scenarios.

And make targets to run tests individually more easily.

[+DLCL]

[git-p4: depot-paths = "//dev/talpa/main/": change = 2391882]