(CFACT-114) Add Windows DMI and Virtualization facts

If we didn't need the "release operation", I'd suggest just using a local static (inherently threadsafe).  Given that resolvers can be "resolved" lazily, do we need a release operation?  The only place it could be called is after someone knows all facts have evaluated.