static compiling prototype

Based on:
Squash reloadso changes for cleaner history
Sanitize macro names in llvm to avoid implied symbol
Re-add jl_dump_bitcode and clean up debugging code
generate llvm global variables for most literal_pointer_val
switch to llvm-managed global variables, load and save them
get much further in the static compile boot process
(barely) working static-compiled repl
static compiling
remove dependence on llvm-mangled names, improve Makefile rules
find sys.so relative to sys.ji
create a valid sys.dylib file for any compile

renames the --bare [-b] flag to --build
the --build flag now requires an argument (where to save the system image)
the build flag triggers mode selection so that the code can get correctly generated and saved
better error messages for literal_pointer_val in ccall
cleanup some elements of static compile, based on Jeff's comments. Also
partially address some minor issues with getopt usage miscounting the arguments
make static_compile build work on linux
try to make travis happy with static_compile
partial windows compatibility
lookup all ccall/cglobal values at runtime (very inefficiently)
fix some types and nulls checking in previous commit
get static compile most of the way to supporting windows
fix #4213. seriously, that was all that was needed?
various attempts at fixing windows support for static_compile
fix stack alignment bug on win32
fix LLVM issues with corrected stack alignment code for windows
functional static compile support for win32
optimize ccall symbol lookup codegen
properly root args to repl_callback in repl.c
fix windows build warnings and issues