Provide a base client type that can then be used for loading
scoped items (like basis, project, etc). Allow per-run setup
of server and runner be handled by the client. Add project
loading and project detection support to basis implementation
and load vagrantfiles during client setup.