##### SUMMARY
There is no real reason that `UnsafeProxy` needs to exist.  

We need to add unsafe bytes support, and by doing so within `UnsafeProxy` over complicates matters.

`wrap_var` should effectively take over the work that `UnsafeProxy` is doing, and then just rely on `wrap_var` directly using the proper `AnsibleUnsafe*` classes. Or callers can directly use `AnsibleUnsafe*` themselves when `wrap_var` isn't necessary.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
lib/ansible/utils/unsafe_proxy.py

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->

<!--- Paste example playbooks or commands between quotes below -->
```yaml

```

<!--- HINT: You can also paste gist.github.com links for larger files -->

option_vars = C.config.get_plugin_vars('connection', self._connection._load_name)
        
        options = {'_extras': {}}
        for k in option_vars:
            if k in PRESERVE_ORIG:
                options[k] = templar.template(variables[k])
            elif k in final_vars:
                options[k] = templar.template(final_vars[k])
        
        if getattr(self._connection, 'allow_extras', False):
            for k in final_vars:
                if k.startswith('ansible_%s_' % self._connection._load_name) and k not in options:
                    options['_extras'][k] = templar.template(final_vars[k])
        task_keys = self._task.dump_attrs()
        
        self._connection.set_options(task_keys=task_keys, var_options=options)
        self._set_plugin_options('shell', final_vars, templar, task_keys)
        if self._connection.become is not None:
            
            
            task_keys['become_pass'] = self._play_context.become_pass
            self._set_plugin_options('become', final_vars, templar, task_keys)
            
            for option in ('become_user', 'become_flags', 'become_exe'):
                try:
                    setattr(self._play_context, option, self._connection.become.get_option(option))
                except KeyError:
                    pass  
            self._play_context.prompt = self._connection.become.prompt
    def _get_action_handler(self, connection, templar):