Fix #9103, implementing `cd -` in REPL shell mode
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.
Use language: julia in default .travis.yml

and add the os: section for mac testing (has to be explicitly enabled
by sending an email to support@travis-ci.com, see
http://docs.travis-ci.com/user/multi-os )
add git fetch --unshallow in commented out script section

add explanatory comment
Keep cursor at prefix position.
simplify initialization / startup / embedded / task-switch api
code cleanup
repl_cmd() prints to the repl's output stream

(not STDOUT)
tests for repl shell mode cd feature
fix long string warning in repl shell mode tests
remove extraneous gc root in start_task