major improvements to vagrant completions

-no longer makes assumptions that names are listed in vagrantfile
-cache hostnames unless the file changes