add startupscript and metadata params

Adds startupscript => parameter, allows for user to specify a custom
script in /files to deploy to the gce startup-script from local file.

Adds metadata => hash support, will create individual metadata keys for
the instance with the value.

Introduces puppet-enterprise.sh, which can use take values to setup
either a pe master or an agent, for master:

  startupscript        => 'puppet-enterprise.sh',
  metadata             => {
    'pe_role'          => 'master',
    'pe_version'       => '3.1.0',
    'pe_consoleadmin'  => 'admin@puppetlabs.com',
    'pe_consolepwd'    => 'puppetlabs',
    'pe_classes'       => 'pe_repo,pe_gce',
  },
  modules      => ['nanliu-staging','puppetlabs-gce_compute'],
  module_repos => {
    'pe_repo'  => 'git://github.com/mrzarquon/mrzarquon-pe_repo',
    'pe_gce'   => 'git://github.com/mrzarquon/mrzarquon-pe_gce',
  },

for agent (note, you have to include hostname of master, also assume master has pe_repo applied to it, which the above example does):

  startupscript        => 'puppet-enterprise.sh',
  metadata             => {
    'pe_role'          => 'agent',
    'pe_master'        => 'puppet.c.flowing-flame-390.internal',
  },