Don't use hif_context_get_transaction() from multiple threads
Don't use hif_context_get_transaction() from multiple threads

I was told that librpm is safe to use from multiple threads when more than one
thread doesn't try to access the database at the same time.

It seems this condition isn't true when different threads try to use the same
rpmts which can result in db3 index corruption. To fix this, add a warning to
hif_context_get_transaction() asking it not to be used when using multiple
threads, and print a warning if this is detected.

hughsie/libhif,cgwalters/libhif,kalev/libhif,rpm-software-management/libhif,hughsie/libhif,cgwalters/libhif,Conan-Kudo/libhif,rpm-software-management/libhif,edynox/libdnf,Conan-Kudo/libhif,Conan-Kudo/libhif,juhp/libhif,edynox/libdnf,rpm-software-management/libdnf,rpm-software-management/libdnf,edynox/libdnf,rpm-software-management/libdnf,cgwalters/libhif,Conan-Kudo/libhif,hughsie/libhif,juhp/libhif,rpm-software-management/libhif,edynox/libdnf,hughsie/libhif,cgwalters/libhif,kalev/libhif,rpm-software-management/libdnf,rpm-software-management/libhif