shelve: move function for opening .patch file to new shelf class
The `opener()` method was used specifically for the `.patch` file, and
the new `Shelf` class deals with all files involved in a shelf, so I
renamed the function in the process.
Differential Revision: https://phab.mercurial-scm.org/D9705
{
"version": 1,
"project": "mercurial",
"project_url": "https://mercurial-scm.org/",
"repo": "..",
"branches": ["default", "stable"],
"environment_type": "virtualenv",
"show_commit_url": "https://www.mercurial-scm.org/repo/hg/rev/",
"benchmark_dir": "benchmarks",
"env_dir": "../.asv/env",
"results_dir": "../.asv/results",
"html_dir": "../.asv/html"
}