Use the shared library for LLVM, if defined
with 'make USE_LLVM_SHARED_LIB=1'.

Using a shared library avoids a problem with LLVM's command
line parameters when loading an OpenCL implementation (at
least pocl) that also links in LLVM. Otherwise we get
assertion crashes like this:

... /llvm-3.5-svn/include/llvm/Support/CommandLine.h:682:
void llvm::cl::parser<llvm::ScheduleDAGInstrs
*(*)(llvm::MachineSchedContext *)>::addLiteralOption(const char *,
const DT &, const char *) [DataType = llvm::ScheduleDAGInstrs
*(*)(llvm::MachineSchedContext *), DT = llvm::ScheduleDAGInstrs
*(*)(llvm::MachineSchedContext *)]: Assertion findOption(Name) ==
Values.size() && "Option already exists!"' failed.
Aborted (core dumped)
Add Halide::set_custom_error_reporter()
Changed to USE_LLVM_SHARED_LIB to empty vs non-empty in line with other flags
Merge branch 'pocl-llvm-shared2'
CustomErrorReporter changes.
Merge pull request #573 from halide/explode

Add Halide::set_custom_error_reporter()
Fixed missing EXPORT for Windows.
Merge remote-tracking branch 'upstream/master'