* refactor(tests): add type hints and clean up
* fix: import `Protocol` from `typing-extensions` when using Python 3.7
* fix: import `Literal` from `typing-extensions` when using Python 3.7
* refactor(tests): create template and subproject directory using `tmp_path_factory` fixture
* refactor(tests): use OS-agnostic file path separator
* refactor(tests): use `/` separator for `skip_if_exists` paths
* style: fix formatting error
* refactor(tests): expect POSIX path for local repo URL
* includes a unit-y test in it's own file, tests/test_interrupts.
* includes an integration test that verifies that we don't dump
a stacktrace. E.g. this test will fail if CopierAnswersInterrupt no
longer subclasses KeyboardInterrupt.
* update changelog with CopierAnswersInterrupt