- Drop `Runtime` wrapper in favour of an abstract base class
- Use `pathlib` throughout and allow it as parameter
- Expose a `shutdown` method (that is a noop in most cases, but at least
it exists)
- Add functions to find all installed .NET Core runtimes
- If no runtime configuration is given, generate a simple one in a
temporary directory
* Add explicit paths for Mono on Darwin and Windows
* Install Mono in Windows runners
* Full paths for Windows and macOS mono libs
* Pass configuration for Mono through
* Cache chocolatey downloads