Ansible fact gathering should never fail
Problem statement
Currently fact gathering in Ansible is quite strict. If any command fails, the script effectively fails and Ansible then bails. This is problematic as Ansible should be in the position to tell us what is wrong. When fact gathering fails, we do not recieve the appropriate signal to tell us what precisely when wrong during a deploy.
Solution
Modify our custom Ansible fact gathering script such that any commands that need to run to gather data are protected from failure. We'll also need to decide whether or not data that was unable to be gathered should be excluded from the resultant output, or if they should instead be some form of null or empty value. This answer may depend on how Ansible does various comparisons.