Updated python version this script requires to run.
now using argparse to process arguments
Cleaned up code, formatted the output to be cleaner when viewed through jenkins/terminal.
This copy only works with python 2.7 or later due to argparse.
Remove a raise in one function

Also add a .gitignore
Fixed usage of exceptions, fixed inconsistancies
changed inconsistancies in string building to use the `format` method. I find this makes reading the code easier.
main function will catch any unexpected exceptions, the rest (expected) exceptions will be caught in there cooresponding function.
added many comments to explain the program more thoroughly
fixed typos and error catching
removed redundant comments and improved some comments
since parser.parse_known_args() returns a tuple I assigned the groupings relevant names (bootvm_args,vmrun_args)
Added error catching for vm-run.
Updated and added a few comments.

Updated vm-run references to point to proper repo
new Popen timeout, changed around functions
Added run_command function to easily utilize timeout function, all returncode values and exception handling is processed by function calling it. Added simple regex function to return match of regex pattern.
Fixed most functions to be independant of each other, and match there name more accurately.
more detailed time-out print
fixed exception handling. changed Popen cmds.
Changed all Popen commands to have shell=False and be lists.
added auto shutdown of vm using pexpect.
removed regex_find function as it was not needed. Decided to use pexpect
as it was the easiest way to find the id of the virtual machine using
the hostname without running vm-list twice.
Added check on timeleft with myproxy cert.
Removed print used to testing.
removed pexpect, simplier vm-kill command
must specifiy cloud vm will run on for now at global variable CLOUD.
Killing a VM does not use pexpect anymore and just kills the unique id.

Added space.
Test
Added ability to boot vm using ssh to head node