Move auto-pair handling after bindings processing

It wreaks havoc with capture handlers, etc., otherwise.
Clipboard item input: Don't accept invalid selections
command: Don't pass through on_submit when command has just been resolved

Fixes issue #19
Add editor-delete-forward command

Bound to `delete` in the default keymap.

Closes issue #20.
Document Editor.delete_forward

And also delete_back, which I obviously missed previously. And fix
the documentation to reflect that smart_back_tab is named exactly
that and not smart_tab_back.
Add a new pre-defined config type 'string_list'

Also add a new optional config definition field, `tostring`.
Add BufferContext.style property

Holds the style at the position indicated by the context.
Readline: log errors from resuming coroutine
Variable assigment input: Respect config def's tostring

Also fix a bug introduced with the command refactoring where
the set command would not work with completion lists active.
Add completion_skip_auto_within config variable

Allows specifying a list of styles for which the completion
popup should not automatically pop up. Addresses the first case
of issue #18.
Update Changelog
Readline: Allow input's value_for to return multiple values
LineInput: Return matching column in addition to line

And take advantage of this in the buffer-grep and
buffer-structure commands.

Fixes #21.
Remove printout
Doc note about auto pair enclosing selection
Readline: Support input keymaps

Also expose the complete method, for request a new completion
for the current readline text.
command: Proxy input keymap accesses to inputs
Fix auto-pair removing an entire pair upon backspace
Readline: Prevent other widgets from getting focus

For issue #23.
Add inputs.read(input, options)

For an easier way to read one-offs from the Readline. Inspired by
recent discussions with @shalabhc about bigger changes to the input
code.