PDB-554 Implement a new EC2 backend and add jenkins_build_url to tags

This patch implements a replacement for the blimpy backend. It replaces the
use of blimpy to launch EC2 nodes with the Amazon AWS::EC2 library.

This was introduced to provide more control over handling error states, without
the granular control of a lower level library we are relying on blimpy to have
error handling (which it largely does not).

My theory was that we could either improve blimpy to do more, or just replace
it with a better driver that allows us to maintain our provisioning code on
its own without worrying about an upstream project. Since we don't use blimpy
for anything else, and we don't want the delay of having an upstream project
release our changes replacement seemed like a better option.

The driver is initiated with the hypervisor: ec2 setting in the users template
files and is built to match the blimpy behaviour in the way it configures
security groups and key pairs. To a reasonable extent users using blimpy right
now should be able to switch over with very little change.

As an aside, I've also added the ability to pass through the BUILD_URL from
a jenkins job as a tag in EC2 (and I've added this code to GCE as well). This
allows a better traceback from VM's to a particular job so we can identify
zombied jobs better.

Signed-off-by: Ken Barber <ken@bob.sh>