expressions -> functions in LineEdit.jl

Un-macrofied keymap function. Update value function signatures. Pass thru
returned symbols in keyamp_fcn. history_keymap can now be const.
Update LineEdit test.
Institute One True Behavior™ for up/down arrows. Fixes #6377.

Those that prefer the old behavior can put this in their .juliarc.jl:
```julia
import Base: LineEdit, REPL

const mykeys = {
    # Up Arrow
    "\e[A" => (s,o...)->(LineEdit.edit_move_up(s) || LineEdit.history_prev(s, LineEdit.mode(s).hist)),
    # Down Arrow
    "\e[B" => (s,o...)->(LineEdit.edit_move_up(s) || LineEdit.history_next(s, LineEdit.mode(s).hist)),
    # Page Up
    "\e[5~" => (s,o...)->(LineEdit.history_prev_prefix(s, LineEdit.mode(s).hist)),
    # Page Down
    "\e[B" => (s,o...)->(LineEdit.history_next_prefix(s, LineEdit.mode(s).hist))
}

Base.active_repl.interface = REPL.setup_interface(Base.active_repl; extra_repl_keymap = mykeys)
```
Merge pull request #8381 from blakejohnson/repl-func2

expressions -> functions in REPL code. Fixes #7178