PE-2352: update puppet node_gce to use GCE v1 API

This patch updates puppet node_gce command to use the latest version
of the GCE API - v1.
The v1 of the API deprecates kernel images and scratch boot disks.
To compensate for that newly each GCE VM instance needs to have
a permanent boot disk configured which must contain a kernel and
a booloader capable of booting the kernel in much the same way as
on a real hardware.
To keep up with the changes the pupet node_gce create command now
creates a persistent disk out of the image specified with the --image
option which is then used as the boot disk for the newly created
instance.
Conversely when an instance is being deleted using the
puppet node_gce delete command a check is made to see if it has
a persistent boot disk configured and if it has then the disk is
deleted along with the instance.
In addition to that this patch also prevents a race condition in
the compile_template method.