<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Describe the new feature/improvement briefly below -->
Please include a baseboard/motherboard serial number and Motherboard product name in ansible gather_facts 

This can be added to facts as similar to other items are being discovered with 
/sys/class/dmi/id/board_name
/sys/class/dmi/id/board_serial
/sys/class/dmi/id/board_vendor
/sys/class/dmi/id/board_version

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
facts 

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->
This is especially useful for hardware from commodity vendors such as SuperMicro and many of hardware doesn't have the proper product serial number or custom build with various local vendors. 
Another case, many of product which is based on blade/chassis model shares the same serial number for chassis and product but the only different thing to distinguish them is motherboard serial number. it would be a great benefit to add in ansible core rather someone using custom facts for it. 

<!--- Paste example playbooks or commands between quotes below -->
```yaml

```

<!--- HINT: You can also paste gist.github.com links for larger files -->

args = ['--list', '--noheadings', '--notruncate']
        cmd = [findmnt_path] + args
        rc, out, err = self.module.run_command(cmd, errors='surrogate_then_replace')
        return rc, out, err
    def _find_bind_mounts(self):
        bind_mounts = set()
        findmnt_path = self.module.get_bin_path("findmnt")
        if not findmnt_path:
            return bind_mounts
        rc, out, err = self._run_findmnt(findmnt_path)
        if rc != 0:
            return bind_mounts
        
        for line in out.splitlines():
            fields = line.split()
            
            if len(fields) < 2:
                continue
            
            if self.BIND_MOUNT_RE.match(fields[1]):
                bind_mounts.add(fields[0])
        return bind_mounts
    def _mtab_entries(self):