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
Pass tuples unboxed if possible
All tests pass
Specialize more functions
bugfixes
Remove unnessecary pto argument from emit_unbox
Adjust llvmcall for new tuple infrastructure
Some llvmcall bugfixes
Address compiler warnings

Also remove unused PassManager reference
Also remove PM initialization
Handle nothingness correctly
Fix a performance regression

We used to statically evaluate immutable tuples, but now these get picked up to create unboxed constants. This change allows static insertion of any unboxed constants to boxed constants. Fixes a performance regression in parseint.