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.
not sure i understand it, can you show me?