cleanup julia_init options

moves all configuration options into jl_compileropts
compute the abspath/realpath of file paths in the config to avoid issues with chdir
Modal prefix history search.

Attempt to deal with down arrow better at end of history.
Refine prefix matching condition to consider mode changes as different.
Pass thru keypresses to parent mode.

Update lineedit test for new usage.
Cleanup some mess with types in LineEdit.jl
Use parent prompt indent.
Remove one unnecessary layer of anonymous functions.
Passthru escape sequences.
Preserve mode when editing history.
Drop unknown codes at REPL.

Better than producing an EOF error.
Keep cursor at prefix position.
simplify initialization / startup / embedded / task-switch api
code cleanup
remove extraneous gc root in start_task
allow the user to specify whether the image_file should be interpreted relative to JULIA_HOME or CWD
update embedding doc to be consistent with changes to julia_init
some more init cleanup, and comments
Merge pull request #8879 from blakejohnson/modal-prefix

modal prefix searching in REPL
Merge pull request #9266 from JuliaLang/jn/init_opt_cleanup

cleanup julia_init options
unbreak win64 COPY_STACK