allow passing keyword arguments to myrepo.shell.{[p]run_async,[p]stop_async} when calling myrepo.shell.prun
make use of myrepo.shell.prun instead of implementing similar thing in myrepo.commands.{build,deploy}
reorder keyword arguments in myrepo.shell.prun
added test cases of build+deploy in myrepo.commands.tests.deploy
fixed bugs revealed by the previous commit brings test cases of build+deploy in myrepo.commands.tests.deploy
fixed a typo in comment line in myrepo.commands.tests.deploy
check if src.rpm built previously exist and not trying to build it again
add a test case for myrepo.commands.deploy.run in myrepo.commands.tests.deploy