WIP: Cut REPL startup time in half

This was born out of frustration trying to use the REPL compiling with LLVM in debug mode.  This removes as many calls into the frontend during startup as possible.  Next step is to look into restructuring `PromptState` construction and `cat` in abstractarray.jl to be easier to precompile which are the largest remaining performance culprits.  Some initial REPL interaction is precompiled as well.