Fix parameter typo in the all-in-one scenario

Without this patch, the command "vagrant up build-server" failed when scenario
all-in-one is selected.

Bringing machine 'build-server' up with 'virtualbox' provider...
[build-server] Importing base box 'precise64'...
[build-server] Matching MAC address for NAT networking...
[build-server] Setting the name of the VM...
[build-server] Clearing any previously set forwarded ports...
[build-server] Fixed port collision for 22 => 2222. Now on port 2200.
[build-server] Creating shared folders metadata...
[build-server] Clearing any previously set network interfaces...
[build-server] Destroying VM and associated drives...
/usr/share/vagrant/plugins/providers/virtualbox/action/network.rb:245:in `hostonly_config': undefined method `+' for nil:NilClass (NoMethodError)
  from /usr/share/vagrant/plugins/providers/virtualbox/action/network.rb:82:in `block in call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/network.rb:75:in `each'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/network.rb:75:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/clear_network_interfaces.rb:26:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/share_folders.rb:25:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/clear_shared_folders.rb:12:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/prepare_nfs_settings.rb:11:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/builtin/nfs.rb:28:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/prune_nfs_exports.rb:15:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/builtin/handle_forwarded_port_collisions.rb:118:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/prepare_forwarded_port_collision_params.rb:30:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/builtin/env_set.rb:19:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/builtin/provision.rb:45:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/clear_forwarded_ports.rb:13:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/set_name.rb:35:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/clean_machine_folder.rb:17:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/check_accessible.rb:18:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:61:in `block in run'
  from /usr/lib/ruby/vendor_ruby/vagrant/util/busy.rb:19:in `busy'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:61:in `run'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/builtin/call.rb:51:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:61:in `block in run'
  from /usr/lib/ruby/vendor_ruby/vagrant/util/busy.rb:19:in `busy'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:61:in `run'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/builtin/call.rb:51:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:61:in `block in run'
  from /usr/lib/ruby/vendor_ruby/vagrant/util/busy.rb:19:in `busy'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:61:in `run'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/builtin/call.rb:51:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/builtin/config_validate.rb:25:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/builtin/call.rb:57:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/builtin/config_validate.rb:25:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/share/vagrant/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/builder.rb:116:in `call'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:61:in `block in run'
  from /usr/lib/ruby/vendor_ruby/vagrant/util/busy.rb:19:in `busy'
  from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:61:in `run'
  from /usr/lib/ruby/vendor_ruby/vagrant/machine.rb:147:in `action'
  from /usr/lib/ruby/vendor_ruby/vagrant/batch_action.rb:63:in `block (2 levels) in run'

Change-Id: I13e1d3f71dc2ab3d0fd5f9d0aa886f7139f82601
Add ability to install puppet modules via apt

Currently puppet modules can be installed only via git based
on whats defined in Puppetfile. Adding install_type so we can
install packages via other means.

Change-Id: I43bb5c26e0d61cb17dfc308ec7e42c22695cc14d
Merge "Fix parameter typo in the all-in-one scenario"
Merge "Add ability to install puppet modules via apt"
Allow vendors to override puppet version

Add in layering for vendors to override hardcoded puppet versions,
for vendors who use their own distributed puppet version rather than
relying on the puppetlabs repo.

Change-Id: I59df0b5e02cb76810d51b4df9ab53bce1f630817
Partial-Bug: #1254124
Partial-Bug: #1254012
Merge remote-tracking branch 'upstream/master' into coi-development