wrap shell.exec_cmd* calls in a optional sigalarm

Adds a timeout option to utils.shell.exec_cmd*().

Another alternative is to use the python 3.2 subprocess backport:  https://pypi.python.org/pypi/subprocess32/