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
oh right, i copied this code to `jl_save_new_module`, and that's actually where it failed, not this one. when trying to serialize `A`, it discovers `B.C.__init__` is in the list to be called also

it's not directly related, it just made me realize that the `__init__` call order can end up getting out of sequence