Improve manual about array conversion in ccall

Fixes #7034.
Enable tracking of repeated consecutive keystrokes

Detect and count the number of repeated, consecutive keystrokes within the keymaps.  This supersedes the REPL's own counting of consecutive returns to abort an incomplete AST entry within its on_enter done-check with a more general implementation. The on_enter functionality is very minutely different -- instead of checking for three consecutive newlines, this checks for three consecutive keystrokes that call the return callback (so, e.g., alternating between ^j and return won't trigger this).  But for nearly all use-cases this behaves the same.
Enable incremental completion of latex symbols

If there is no whitespace between the nearest `\` and the cursor, try to complete a latex symbol or its name *instead* of a Julian name.  This allows for interactive discovery of latex names, but whitespace is required for completion of a Julia name. Note that if these completions were instead *appended* to the Julia options, they have to display without the leading \. I found that to be confusing when mixed in with the Julian names.

If the word matches a latex name exactly, it replaces it with the symbol. Otherwise, it attempts to complete the latex names. While there are some names that are prefixes to other names, I don't find this to be too jarring. It does effectively "shadow" the longer names, making them harder to discover.
Consecutive kills append to the kill buffer

When the same keystroke is used to repeatedly call edit_kill, the killed text is appended to the buffer instead of replacing it.
Only show completion options on the 2nd tab-press

Instead of the current complete-or-show-possible-completions behavior, this now requires a second consecutive tab press to show the possible completions. This behaves a little bit more like most shells, and prevents excessive printing of options in most cases.
Enable incremental completion of latex symbols

If there is no whitespace between the nearest `\` and the cursor, try to complete a latex symbol or its name *instead* of a Julian name.  This allows for interactive discovery of latex names, but whitespace is required for completion of a Julia name. Note that if these completions were instead *appended* to the Julia options, they have to display without the leading \. I found that to be confusing when mixed in with the Julian names.

If the word matches a latex name exactly, it replaces it with the symbol. Otherwise, it attempts to complete the latex names. While there are some names that are prefixes to other names, I don't find this to be too jarring. It does effectively "shadow" the longer names, making them harder to discover.