##### 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 -->

become_plugin = None
        if self._play_context.become:
            become_plugin = self._get_become(self._play_context.become_method)
        if getattr(become_plugin, 'require_tty', False) and not getattr(connection, 'has_tty', False):
            raise AnsibleError(
                "The '%s' connection does not provide a tty which is required for the selected "
                "become plugin: %s." % (conn_type, become_plugin.name)
            )
        try:
            connection.set_become_plugin(become_plugin)
        except AttributeError:
            
            pass
        
        
        
        self._play_context.set_become_plugin(become_plugin)
        
        self._play_context.set_attributes_from_plugin(connection)
        if any(((connection.supports_persistence and C.USE_PERSISTENT_CONNECTIONS), connection.force_persistence)):
            self._play_context.timeout = connection.get_option('persistent_command_timeout')
            display.vvvv('attempting to start connection', host=self._play_context.remote_addr)
            display.vvvv('using connection plugin %s' % connection.transport, host=self._play_context.remote_addr)
            options = self._get_persistent_connection_options(connection, variables, templar)
            socket_path = start_connection(self._play_context, options)
            display.vvvv('local domain socket path is %s' % socket_path, host=self._play_context.remote_addr)
            setattr(connection, '_socket_path', socket_path)
        return connection
    def _get_persistent_connection_options(self, connection, variables, templar):