call vagrant directly to get hostnames/box names

-no longer makes the assumption that files are parseable, just call vagrant
    directly to get the information for status|box list
-cache results until Vagrantfile changes