some systems do not like having everything in zprofile due to how their
system configs are laid out, and some things that were assumed to carry
over into subshells did not actually do so. partially revert zsh
refactor by moving affected stuff back into .zshrc, such as promptinit,
compinit, vcs_info, bindkeys, etc.
this commit also fixes a bug in preexec that caused unnecessary
expansion due to using incorrect opts for print.