Do not keep any connection to libvirt

In order to suppress the 'Too many active clients' libvirt errors,
the connection is opened AND closed each time it is needed. Before
this commit, the connection was kept.
refactored libvirt facter to make fact more concise
cleanup code to remove CachedLibVirtConnection object
make definition of libvirt facts more readable