tweak formatter.for_type

- for_type(cls) nondestructively queries the current formatter (previously disallowed)
- for_type(cls, None) clears the current formatter (previously queried current)
exercise formatter.for_type in tests
add lookup logic based on apptools.type_registry

adds

- formatter.lookup(instance)
- formatter.lookup_by_type(type_or_type_string)
- formatter.pop(type_or_type_string)

changes:

- support 'module.name' in formatter.for_type
more formatter type lookup tests
remove use of private type_printers API
add formatter changes to what's new
another pass on formatter lookup

- pop takes a default value (like dict)
- support `type in Formatter`
- allow lookup by type string (for consistency)
update formatter what's new
formatter docstring consistency
Bug fix for #4643: Regex object needs to be reset between calls in tooltip.js
Tabs converted to spaces for #4643
Include qt.console.frontend_widget in docs
Example of adding input transformers.

Closes gh-4709
Standardise some module docstring first lines
Fix header levels in technical description of config
Update inputsplitter docstring
Downplay the need for pyreadline on Windows.

Closes gh-4544
Add failing test for saving kernel history on Python 2
Fix ``%history -f foo`` in kernel.

Closes gh-4582
never use ssh multiplexer in tunnels

`ssh -f` is [broken in OpenSSH](https://bugzilla.mindrot.org/show_bug.cgi?id=1948)
when a ControlMaster multiplexed connection is used.

`-S none` disables the multiplexed connection.

closes #4717