restructure Vagrant, making recipe lean and easy to augment

This is a follow-up to PR #520, per @dcapwell and @haoyuan suggestion. 

Will be the basis to the coming docker provider.

Tested on AWS, OpenStack, and Virtualbox.
Does this have any effect if user picks a different env?

Let's say the user does aws; does including vb and open stack have any effect on vagrant?