Passing current range to provider calls

- updated script_host_execute and script_host_execute_file to pass current range
Merge pull request #1376 '[RDY] Passing current range to provider calls'
Add legacy test conversion script.
Merge pull request #1287 '[RFC] Add legacy test conversion script.'
eval: Allow setting vim variables of UNKNOWN type
fileio: Extract `should_expand_filename` from `apply_autocmds_group`
fileio: Refactor `has_autocmd` to work with patterns that aren't files

has_autocmd can be used if there are autocommands matching a certain filename.
Some autocmd events use patterns that aren't filenames, allow has_autocmd to be
used with them.
eval: Add v:provider_args/v:provider_result variables
fileio: Add ProviderCall autocommand
eval: Add eval_call_provider/eval_has_provider functions

These functions use the v:provider_args/v:provider_result and the ProviderCall
autocommand to replace the provider_call/provider_has functions, moving the
implementation of providers to pure vimscript(we lose nothing since vimscript
can also call msgpack-rpc functions).
eval/ex_cmds2/ops: Implement providers with eval_call_provider

Replace references to provider_call/provider_has with the new functions
eval_call_provider/eval_has_provider.
Remove os/provider.{c,h} and all of its references
eval: Use scope information from provider caller in rpcrequest

When running the rpcrequest function from a ProviderCall autocommand,
temporarily switch to the caller scope.

The reason for that is because we want to trat rpcrequest calls made from
ProviderCall autocommands as if they were direct calls to the
`channel_send_call` function(ProviderCall will be used to implement old ex
commands that expect this behavior, since they were previously implemented in C)
travis: Set VIMRUNTIME in common.sh

This is required for testing code defined in the "runtime" directory
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