move logic to reusable methods

This commit aims to move as much logic
from the vagrant file as possible into reusable
methods.

It adds the following methods:
- run_puppet_agent - invokes the puppet agent based provisioning
- configure_apt_mirror - performs all apt config
- configure_openstack_node - single method to
perform all desired vagrant config.