cleanup julia_init options

this attempts to be more consistent and centralized about initializing julia paths (build_path, image_file, julia_home). this is in an attempt to make embedding julia easier. also, it should help with spawning child processes (by providing more reliable access to the parameters, without dependence of the working directory)

1. moves all configuration options into jl_compileropts
2. computes the abspath/realpath of file paths in the config to avoid issues with chdir causing files to end up in the wrong location

@tkelman @ihnorton @staticfloat
ah, fair point. part of my goal here was to reduce code duplication between `ui/repl.c` and `src/jlapi.c`.

was that an actual intended use case? it seems strange to me that you would know the name of the file but not the location. i thought that was just a hack that was previously necessary to support `JL_SYSTEM_IMAGE_PATH`. However, I've now baked support directly into libjulia for that.

i could add a flag back to `julia_init(...)` that specifies whether to look relative to the cwd or julia_home.