Improve icomplete-vertical-mode and fido-vertical-mode
If icomplete-scroll and icomplete-vertical-mode are turned on,
icomplete-mode feels more like a typical vertical completion chooser.
M-x fido-mode augmented with M-x fido-vertical is the now the
recommended way to experience fido-mode.
* etc/NEWS (icomplete-vertical-mode): Reword.
* lisp/icomplete.el (simple): Require it.
(icomplete-selected-match): New face.
(icomplete-scroll): New user-visible var.
(icomplete-forward-completions): Rework.
(icomplete-backward-completions): Rework.
(icomplete--fido-mode-setup): Prefer icomplete-scroll according to
icomplete-vertical mode.
(icomplete-minibuffer-setup): Initialize icomplete--scrolled-completions.
(icomplete--vertical-minibuffer-setup): Initialize icomplete-propspects-height
to a more common value.
(fido-vertical-mode): An alias for icomplete-vertical-mode.
(icomplete-exhibit): Init icomplete--scrolled-past. Adjust overlay.
(icomplete--render-vertical): New helper.
(icomplete-completions): Rework. Mostly reformat.
* lisp/simple.el (max-mini-window-height): New helper.
(display-message-or-buffer): Use it.