runtime: Implement python/clipboard providers with runtime scripts

Move the python provider implementation(script_host.py) from the python-client
repository to this one, and add runtime scripts that use the ProviderCall
autocommand to bootstrap the python provider and implement the clipboard
provider using shell commands.
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)
Add autoload for host manipulation
runtime: Allow a channel id to be passed to rpc#host#Register

This simplifies testing functions that are supposed to bootstrap a host
runtime: Add autoload/rpc/define.vim and test

This new vimscript module will contain common code used by hosts that need to
define commands, autocommands and functions to be executed over msgpack-rpc.
travis: Set VIMRUNTIME in common.sh

This is required for testing code defined in the "runtime" directory
tmp