Add jenkins test script

This commit adds the test script run
by jenkins to this project.

It also modifies that script for the
following reasons:

- ensures that keyname can be overridden
- ensures that env_file can be overridden
- allows the timeout command to be overridden
- add code to allow all puppet code to come from
  a specified repo (as opposed to packages)

modifies the maybe-upgrade script so that it consults
the value of manifestdir from puppet.conf.

add package dependency for run-one
I see what you're saying. I guess this brings me back to my earlier suggestion of just making the package building process part of this script as well. That way we wouldn't need to worry about keeping the package's behaviour and side effects in sync with this other code path in the user-data.

Buliding the package is simple. `dpkg-buildpackage -b` and you're done. The problem is getting the package fed into the instances somehow.