Expose a routine to intialize llvm. Needed it for testing an idea and this
seems a decent design to commit.
Add support for ImageParam values becoming ExternFuncArguments. Was
omitted previously and is just a smalladdition. Added test case.
Allow passing in Target explicitly for calls that previously depended
on HL_TARGET environment variable via get_target_from_environment. Most
previous behavior is preserved but JIT calls default to get_host_target
instead of get_target_from_environment as the latter would crash
if the target does not make sense for the current host.

Added a method to parse a target string.