* helm-utils.el (helm-goto-line-before-hook): New hook.
This hook run when jumping from `helm-goto-line', `helm-etags-default-action',
and `helm-imenu-default-action'.
(helm-save-pos-before-jump-register)
(helm-save-pos-to-register-before-jump)
* helm-tags.el (helm-etags-default-action): Use it.
* helm-imenu.el (helm-imenu-default-action): Use it.
* helm-ring.el (helm-source-mark-ring): Don't push mark after jumping.
* helm-utils.el (helm-save-current-pos-to-mark-ring): New.
* helm-utils.el (helm-save-current-pos-to-mark-ring): Don't save in persistent action.
* helm-ring.el (helm-mark-ring-get-candidates): Use force arg of mark.