* helm.el: reset helm-marked stuff directly on buffer creation and remove the hooks.
* helm.el (helm-move-selection-common): Update keymap directly here and remove helm-maybe-update-keymap from helm-move-selection-after-hook.
* helm.el (helm-log): Use outline.
* helm.el (helm--window-side-state): New, use it to restore helm-window on last used side after swapping or toggling.
(helm-window-side-state): New flag, internal.
(helm-initial-setup): reset helm-window-side-state.
(helm-display-buffer, helm-toggle-resplit-window
helm-swap-windows): Set helm-window-side-state with helm--window-side-state fn.
* helm.el (helm--window-side-state): Renamed from helm-window-side-state (internal var).
(helm--get-window-side-state): Renamed from helm--window-side-state (function).
* helm.el (helm-initial-setup): Fix restoration of helm--window-side-state.
(helm--window-side-state): Use by default the default value of `helm-split-window-default-side'.
* helm.el (helm-swap-window): Don't swap in a dedicated window.
* helm.el: Define helm-toggle-resplit-and-swap-windows multi-key with a delay of 1.
* helm-command.el (helm-M-x): Issue #322 handle repeat.