Enable building Ambari GCE VM images via Packer.

Added a config and tooling for using Packer to build GCE VM images based on
CentOS 6 which come with Ambari agent or server pre-installed, allowing for
faster and more predictable start-up because no additional work (fetching
packages, downloading / installing / configuring software, etc.) needs to happen
for every new node.
Enable using different images for agent & server.

Specifying `sourceImage` will still provide the defaults for both, but users can
now separately provide `agentSourceImage` and `serverSourceImage` to control the
two instance types independently.
Refactored retrieval of instance metadata.

Factored out common code into a function to retrieve instance metadata. Also
capture stderr into a separate file to be able to display it while making stdout
silent as we return it from the function.
Make `curl` silent but still show errors.

`-s` hides both progress status and errors, so we also add `-S` to display the
errors.
Handle config updates for Ambari agent.

Insert `stop` before `start` to handle config updates, as we might be modifying
the config for an already-running agent. In that case, `start` is a no-op but
the config changes will be ignored.
Added a deployment using Packer-build images.
Added howto for building images with Packer.
Switch to single Ambari image for agent + server.

Previously, we were building separate GCE VM images for both Ambari agent and
server. With this change, we build a single image which includes both agent and
server, both disabled and neither one automatically starting on boot.

Then, we choose which mode the VM will start in via the startup script.

This lets us speed up and simplify builds as well as decrease storage costs.