Catch an endif that must have migrated during merging
Prepare for MCJIT

Adds prepare_call/prepare_global methods to all usages of functions
or global variables. Since MCJIT is multi-module, these will be
needed if the function/global variable is declared in a different
module.
Small LLVM 3.4 fix
Add FunctionMover from C++ FFI
MCJIT rebase
Put in a few more ifdefs to still support 3.3
A few cosmetic changes
The Linux linker wasn't too happy with my choice of linkage here
Fix rebase issues