This way ALT-c behaves more aligned with `cd`.
Imagine a setup like:
```
/foo -> foo_real
/foo_real/bar
```
Right now if we first `cd foo` (a symlink to `foo_real`), and
then use ALT-c to goto `bar`, then we would end up executing
`cd /foo_real/bar` instead of `cd /foo/bar`. `$PWD = /foo_real/bar`.
For comparison, if we first `cd foo` and then `cd bar`, we end up with
`$PWD = /foo/bar`.
This commit changes the internal logic of `fzf-cd-widget` to first run
`cd <result of FZF_ALT_C_COMMAND>` in a subshell to simulate the
behavior of `cd`, and then insert the target PWD into the shell history.
This way we get behavior consistent with the builtin `cd` command, while
also recording reusable shell history.