shell: Use job_write_cb for closing stdin

Commit @45525853d352 removed usage of the `job_write_cb` for closing stdin due
to a memory error, but that doesn't work anymore because `job_close_in` closes
stdin immediately, possibly trimming input data before it is fully written.

Since most memory issues with jobs have been fixed, re-add the `job_write_cb`
call to ensure stdin is only closed when it should. Also add tests for scenarios
where using the callback makes a difference.
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