Turn the options into proper defcustom forms. Fix the bug when eshell is restarted on every pop. Replace (if a b) with (when a b). Add autoload on `shell-pop` to support package.el