contrib.files.append([...], use_sudo_=True) does not work with 'cd()' ctx manager

```python
with settings(user=some_user), cd('/home/some_user'):
    append('.ssh/authorized_keys', key, partial=True, use_sudo=use_sudo)
```
This code silently duplicates existing key in a checked file. The full resulting command is:
```
sudo -S -p 'sudo password:'  cd /home/some_user && egrep "^ssh\-rsa\ AAAAB3Nza[...]jN\+v7w\=\=" ".ssh/authorized_keys"
```
(as returned by _shell_wrap() call) The problem is: normally, there is no standalone 'cd' command in UNIX, as it is a shell built-in. And ommiting context manager `#with settings(hide('everything'), warn_only=True):` at the end of `contains()` reveals that.

Quick test to use `shell=True` in the final call inside `contains()` fixes that, but possibly has other side-effects.