More robust OSL_LLVM_VERSION regex to work with 3-part version numbers
Split ShaderGlobals definition into separate shaderglobals.h
Guard point transforms against possible division by 0
Create a LLVM_Util class (in llvm_util.{h,cpp}) that handles ALL direct calls
to LLVM APIs, and has NO special knowledge of OSL or its internals.

BackendLLVM (which is intimately tied to OSL) now is built on top of
LLVM_Util. Neither BackendLLVM nor the rest of liboslexec needs to directly
touch LLVM API calls and don't even need to include a single llvm header.

LLVM_Util has no dependencies on anything else in OSL (though does want
TypeDesc and ustring), and could be used as a standalone library from
other apps, to vastly simplify using LLVM to dynamically JIT code and
then execute it.  An example of this can be found in llvmutil_test.cpp.
Enable Boost Wave as the pre-processor for SPI builds
Dead code and declaration removal
Add RendererServices pointer directly to ShaderGlobals for easier access
Adjust build to account for new library names in OpenEXR 2.1.

Also had to fix a friend declaration (use the whole class name, with its namespaces, else it did not worked here [gcc4.8]).
Make sure we include all OpenEXR related headers with <OpenEXR/foo.h> and remove the addition of the OpenEXR sub-folder from system search paths (mirrors a similar commit in OpenImageIO)
Fix incorrect function declarations for the no-bitcode case
Unconditionally add all op declarations
Fix subtle bug with splines and arrays.

It took a special set of circumstances: the variety of spline that takes
an array of knot values, but where the user passes how many knots to use
and it's less than the full length of the array, AND the knot array has
derivatives.  When accessing the derivatives, it was offsetting to find
them based on the number of knots being used, but it should have been
the array length generating the offset (the positions of the derivs
don't change just because you aren't using all the array elements to
store the knot values). So it was reading bogus, potentially
uninitialized values.

The solution involved needing to pass both the num_knots and the
knot_arraylen to the various spline routines.

Along the way, for debugging help, I also modified nan/inf checking to
print the op name as well as the source file and line.

I added a regression test as part of testsuite/spline.
Fix USE_EXTERNAL_PUGIXML mixup.
CHANGES
Bump dev version number
Move useful dual templates from splineimpl.h to dual.h
Enable variadic macros for Boost::wave.
OSLQuery/oslinfo: parsing struct parameters should report the struct name
Bump version to indicate OSLQuery API change
Merge pull request #322 from lgritz/lg-oslquery

OSLQuery/oslinfo: parsing struct parameters should report the struct name