Only chsh to zsh if zsh is not the shell

This PR checks the user's current shell before making the chsh call.  This is a good thing because the chsh call requires a password input, so it'd be nice to avoid that where possible.
If this `dscl` thing turns out to be the most robust approach (I don't know), then I have a few comments:

- Prefer `[[`
- Prefer environment variables (`$USER`) over process output (`$(whoami)`) (also, avoid backticks)
- Avoid `eval` (If it's really needed here, please explain)

```sh
if [[ "$(dscl . -read /Users/$USER UserShell | cut -c 12-19)" == '/bin/zsh' ]]; then
```

Also, `cut`ing on exactly characters 12-19 feels brittle. What does the output look like? Can we split on something like spaces and pick a specific field?