Add a method for executing Yum commands.

It will allow us to keep the code clean of error handling, which now we
do almost by copy and paste.
Expire Yum caches with execute_yum_command.
Run transaction with execute_yum_command.
Refactor versionlock command executions.

Needed a small adaptation for repoquery.
Complete old transactions with execute_yum_command
Return something successful with noaction.
Make package-cleanup run even under NoAction

It is a safe command, and it will give all the information we need about
packages that should be removed.
Fix tests.
Improve the documentation of execute_yum_command

Clarify the return values and put it into a POD section, in case future
code desires to invoke Yum/repoquery.
Fix typos in the documentation.
Make the return of apply_transaction consistent.

We are returning defined($foo) wherever we run Yum commands.  This one
should behave just the same.
Merge pull request #27 from piojo/refactor-yum-cmd

Refactor invocations to Yum commands