Move create operation in the file

This moves the implementation of create to a location next to bootstrap -- the
better to make visible the commonalities between them.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Extract common options into a procedural library

Because the design of faces makes it impossible to use conventional OO
solutions, such as inheritance or augmentation of classes, to solve the
problem of identical behaviour across disparate objects, we hit some
challenges when our actions share behaviours in the form of options.

This addresses that the same way the rest of the Cloud Provisioner code does,
by extracting the common options into a shared library of procedural code that
can be used to share execution and, by side effect, behaviour.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Extract "payload" options from other CloudPack install options

The original CloudPack design mashed together a pile of things into what it
called the "install" options -- which, unfortunately, included both some of
the payload options for installation and some of the authentication options
for how to connect to the target system.

This made it impossible to use that single original set of options with GCE,
since the security model is different enough to pose an unsolvable conflict.

This splits out those options into two components, installation and payload;
we only use the later in GCE, and retain the original definition of install
options for other 'clients' of CloudPack.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Implement bootstrapping of nodes with the GCE face.

This implements the `bootstrap` action, following the pattern of other Cloud
Provisioner faces.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>