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
implement RandomDevice RNG
Put LLDB-specific flags back under `ifeq ($(BUILD_LLDB),1)`

where they were before #9263
deps/Makefile: add update-llvm target to pull llvm+clang,lldb,and compiler-rt (if applicable)
Merge pull request #9342 from ihnorton/update_all_llvm

deps/Makefile: add update-llvm target to pull llvm+clang,lldb,and compil...
add update-llvm to .PHONY

also use 'pull --ff-only' for llvm too, because some builds might use 3.5 rather than svn.
fix #8137
fix #9206 and partially fix #7910