fix(dotfiles): don't bloat PATH when spawning subshells
fix(dotfiles): don't bloat PATH when spawning subshells

A long standing bug that we would prepend and append to the
"SYSTEM_PATH" every time we spawned a new shell, which meant that it
would get longer and longer (the problem being that `SYSTEM_PATH` isn't
a thing... we were just taking "whatever the PATH was previously").

So, we fix that by only adding items to the PATH if they're not already
there.

Now, there is a lot of cruft in here that I could probably clean out,
but will take a look at doing that at some other time.

wincent/wincent,wincent/wincent,wincent/wincent,wincent/wincent,wincent/wincent,wincent/wincent,wincent/wincent,wincent/wincent