test: Fix nondeterminism in tests with notifications

Tests which spin the event loop and stop it in a notification handler have a
chance of re-entering the event loop due to the `vim_eval` call in the
`request()` helper(assuming the request call is what triggered the
notification). Since this will cause an error to be thrown by the lua client,
don't send the extra `vim_eval` request when the loop has been stopped.
runtime: ProviderCall implementations

- Move the python provider implementation(script_host.py) from the python-client
  repository to this one
- Implement python provider with ProviderCall
- Implement clipboard provider with ProviderCall
- Add runtime scripts for working with external plugins and hosts
- Add tests for the new runtime scripts