pub fn get_crate_path(path: Option<PathBuf>) -> Result<PathBuf>
If an explicit path is given, then use it, otherwise assume the current directory is the crate path.