locking: aquire & release the yum lock for each backend operation

the old behaviour was to keep the lock during the whole runtime of the
backend. this made it impossible to run yumex and at the same time install
something with yum via command line
get_packages: add a parameter to disable backend package cache (used to search for updates)
progress dialog: ignore the close button
add 'close to hide window' option & improve closing behaviour of progress window