This is similar to the corresponding Python classes.
Repo represents a repository and knows the path to the .hg directory,
the store directory, and the working directory.
Separating these will enable supporting the share extension.
A Vfs is created from a Repo for one of these three directories.
It has filesystem access APIs that take a relative std::path::Path
as a parameter.