refactor the Vagrantfile to remove duplicate code
refactor the Vagrantfile to remove duplicate code

This commit refactors the vagrant class to remove
duplicate code.

it adds the following methods:
  get_box - retrieves the base_box that should be used
  setup_networks - sets up the 3 networks
  setup_hostname - sets up the hostname

it also standardizes the config object yielded to
the vm blocks as config.

michaeltchapman/vagrant-consul,michaeltchapman/vagrant-consul,CiscoSystems/puppet_openstack_builder,CiscoSystems/openstack-installer--to-be-replaced-by-puppet_openstack_builder,michaeltchapman/puppet_openstack_builder,phchoic/puppet_openstack_builder,CiscoSystems/puppet_openstack_builder,phchoic/puppet_openstack_builder,CiscoSystems/openstack-installer--to-be-replaced-by-puppet_openstack_builder,michaeltchapman/puppet_openstack_builder,CiscoSystems/puppet_openstack_builder--to-be-deleted,CiscoSystems/puppet_openstack_builder--to-be-deleted,michaeltchapman/puppet_openstack_builder,CiscoSystems/openstack-installer--to-be-replaced-by-puppet_openstack_builder,CiscoSystems/puppet_openstack_builder--to-be-deleted,phchoic/puppet_openstack_builder