copied directly from jason's test.py code so that we can begin refactoring using non-subprocess (vagrant module specific code)
removed the replaceIf since it's not needed for what we're trying to do right now
copied retry decorator example code from http://peter-hoffmann.com/2010/retry-decorator-python.html
use retry decorator from http://wiki.python.org/moin/PythonDecoratorLibrary#Retry since the other decorator did not work in this version of python
added wait_for_container() with multiple retries

we want to wait for vagrant status to be 'running' before we do anything
more, and throw an exception if it fails to start.
simplified code using wait_for_container() with retry decorator instead of using subprocess
call vagrant up
fixed provider spelling mistake in config object
get vagrant object from config
get vagrant object from config
if it exists, remove Vagrantfile before starting a new instance
for now just ignore the cleanup and leave container running