Bug 1093773 - Start on-demand instances using golden AMIs.

Shut down on-demand instances will work because they are launched with
instance_initiated_shutdown_behavior set to "terminate".
Merge pull request #4 from rail/shutdown_ondemand

Bug 1093773 - Start on-demand instances using golden AMIs.
Bug 1055794 - Allows explicit setting of an interpreter for running tasks

On non-posix platforms (such as Windows) hashbangs are not necessarily obeyed. As such,
in order to launch runner from a native shell (such as cmd.exe) it is necessary
to set the interpreter explicitly in runner's task Popen command. These changes
allow each task to be configured with an explicit interpreter, or, for a global
interpreter to be set for all tasks.
Shorten task_interpreter to interpreter; a more apt option name since 'task' is already implied.
Fix up gitignore for python-mode users.
Provide fodder for run_task integration testing.
Add integration tests for task running

This makes it much simpler to detect how runner will behave on various platforms,
for instance, these tests would reveal problems with using runner on windows
via cmd.exe.
Cleanup un-necessary global and decrease possible wait time on 'sleep' task (in case max_time fails)
Merge pull request #8 from mrrrgn/tests

Tests
remove un-necessary 'is not None' from conditionals
Merge pull request #5 from mrrrgn/interpreter

Bug 1055794 - Allows explicit setting of an interpreter for running task...
Reorganize the project for easier addition of new features.
Remove un-necessary comment and if __name__ == '__main__' from the runner package.
Adds license headers to all source files.
Adds a license.
Move hashbangs back to the top of executable scripts.
Merge pull request #9 from mrrrgn/reorg

Reorganize the project for easier addition of new features.