Fetch vars for host directly when calculating the delegated user

This fixes the case in which the delegated to host may not be in the
specified hosts list, in which cases facts/vars for the host were
not available in the injected hostvars.

This also fixes the inventory variable fetching function, so that an
unknown host raises a proper error as opposed to a NoneType exception.

Fixes #8224
Rework distribution fact checking to be a little less heinous and add
support for Mandriva.

Fixes #9282
Update the core and extras submodules
Fixing item loop when undefined variable errors occur because of missing attributes

Fixes a case where the variable 'foo' may exist, but the with_items loop
was used on something like 'foo.results', where 'results' was not a valid
attribute of 'foo'. Prior to this patch, conditionals were not evaluated
until later, meaning there was no opportunity to allow a test to skip the
task or item based on it being undefined.
Fixing bad variable naming choices
add missing headers, rm the subtree of ansible/inventory as we wish to overhaul it.