Permit using a known keypair when bootstrapping.

For debugging it is really inconvenient to have to wait for puppet to
*work* to log into a box and analyse what went wrong. This small patch
makes making one-time keypairs optional. Setting provider.keypair to
the name of a nova keypair will use that keypair in provisioning - but
you'll need to have the real key available via an agent for nodepool
to login itself.

Change-Id: I768ba656368ff00f9f7374ec0a46e57cd563ee61
Add some debugging around image checking.

I had a image in state building from a different dead nodepool
process, this helped me figure that out.

Change-Id: I9336643bf87451610c6256e2667249601bb89b8d
Only attempt to copy files when bootstrapping.

If scriptpath is pointed at a directory containing directories, it
currently fails with::

    IOError: [Errno 21] Is a directory: './.git'

We could do a recursive copy instead but as I'm not aware of a need
for that, this is simpler.

Change-Id: I431013f896b8a97b1e207980d6b1c8ebc0105d71
Document that fake.yaml isn't usable.

This might seem obvious, but settings like script-dir were just plain
wrong and it took me a bit of time to realise why...

Change-Id: I0c3acbb2f2fbc8246632cb4b0c8d9e31a569bee7
Don't load system host keys.

There are three places that nodepool connects to hosts:
 - to bootstrap where by definition any existing host key must be wrong
 - to bring up a snapshot where again any existing host key must be wrong
 - to check a node is still running

Nodepool itself doesn't save the host key, so the third case will
typically warn as well, or if an administrator logged into a node from
the nodepool user account cause a failure.

As such it seems that system host key validation is not useful and
just serves to cause failures when a stale key is present.

Change-Id: I074314d61b5c520bdd67da24bfd2a8e626da0dc5