Trim whitespace in lm-keywords-list

* emacs-lisp/lisp-mnt.el (lm-keywords-list): Trim whitespace
around keywords with extra `split-string' argument.
* src/lisp.h (FOR_EACH_TAIL): New macro.
* src/fns.c (Fdelq): Use it to avoid inf-loops; remove QUIT.
In x_new_font calculate new frame sizes from new font size (Bug#16028).

* w32term.c (x_new_font):
* xterm.c (x_new_font): Calculate new frame size from new font
size (Bug#16028).
Minor changes, detected by test suite.

* net/dbus.el (dbus-unregister-service)
(dbus-escape-as-identifier, dbus-unescape-from-identifier):
Fix docstring.
(dbus-unregister-service): Skip :serial entries in
`dbus-registered-objects-table'.
(dbus-byte-array-to-string): New optional arg MULTIBYTE.
* automated/dbus-tests.el: New file.
* dbus.texi (Type Conversion): Clarify unibyte-ness of strings.
eww: add command to view page source

* net/eww.el (eww-current-source): New variable to store page
source.
(eww-display-html, eww-mode, eww-save-history)
(eww-restore-history): Use it.
(eww-view-source): New command to view page source.
Opportunistically uses `html-mode' to highlight the buffer.
(eww-mode-map): Install it.
Fix some pixelwise breakage, more remain.

* nsfns.m (ns_frame_parm_handlers): Add right/bottom_divider_width.

* nsterm.m (x_set_window_size): Handle pixelwise.
* lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Fix ^.
* test/automated/regexp-tests.el: New file.
Add caching variant of `completion-table-dynamic'

* lisp/minibuffer.el (completion-table-with-cache): New function.

* lisp/progmodes/octave.el (inferior-octave-completion-table): Turn
back into function, use `completion-table-with-cache'.  Update all
references.
* lisp/isearch.el (isearch--saved-overriding-local-map): New internal variable.
(isearch-mode): Set it to the initial value of `overriding-terminal-local-map'.
(isearch-pre-command-hook): Compare `overriding-terminal-local-map'
with `isearch--saved-overriding-local-map'.
Fix Bug#15874

* lisp/progmodes/ruby-mode.el (ruby-mode-syntax-table): Don't modify
syntax for `?'.
(ruby-expr-beg): Expect that `!' will have syntax class "symbol"
where appropriate already.
(ruby-syntax-propertize-function): Propertize `?' and `!' at the
end of method names.
* progmodes/octave.el (inferior-octave-prompt): Use shy groups.
(inferior-octave-startup): Always use "octave> " for prompt.
(octave-goto-function-definition)
(octave-sync-function-file-names)
(octave-find-definition-default-filename): Remove redundant backquotes.
* xterm.c (input_signal_count): Remove.
(x_dispatch_event): Define unconditionally.
(x_make_frame_visible): Process X events until the frame
is really visible (Bug#16027).
* xterm.h (x_dispatch_event): Declare unconditionally.
Merge Org 8.2.4
* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize-function): Touch
up the last change.
NEWS trivia
org.texi: Don't include Emacs version within Org's version

Thanks to Glenn for reporting this.
Fix bug #16070 with crashes when toggling buffer's multibyteness.

 src/buffer.c (Fset_buffer_multibyte): Invalidate buffer caches.
Revert inadvertently commited changes in grep.el.