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.
Is `$SHELL` not set in OSX?

```
% bash -c 'echo $SHELL'
/bin/zsh
```

Assuming not, I'd like to find a way to do this without `eval`. How about getting the parent's process id then checking that:

```
% bash
[patrick@black ~]$ read ppid < <(ps -o ppid= $$)
[patrick@black ~]$ if ! ps -p $ppid | grep -Fq zsh; then echo 'change it'; else echo 'nope'; fi
nope
[patrick@black ~]$
```