OSLCompiler::compile_buffer

Add OSLCompiler::compile_buffer that compiles osl source in a string into oso output in a string. When combined with ShadingSystem::LoadMemoryCompiledShader, this allows you to go from osl source in memory all the way to execution of the shader, without writing or reading any disk files.

Along the way, we changed a few other things of note:
* OSLCompiler::compile options to std::string vector, for simplicity.
* Remove old /bin/cpp usage, always use Boost Wave.
* Modify OSLCompiler to rely an an ErrorHandler instead of direct stderr output.
* The full OSLCompiler is now built into liboslexec (buy the shading system, get the compiler for free).
* Always use Boost Wave. No more reliance on /usr/bin/cpp, it's too much trouble to maintain parallel code paths, and at this point we totally trust Boost Wave.

(Open question: should we coalesce liboslexec, liboslcomp, and liboslquery into one big libosl? Or is there utility to having, in particular, just OSLQuery or just OSLCompiler linked against an app without dragging ShadingSystem and LLVM with it.)
I looked into this. The problem is that they have to take somewhat different actions both at the beginning and in the middle, so it's a question of a little code redundancy (a few tens of lines) versus breaking the function up into multiple pieces in a way that didn't particularly aid the clarity. I may come back to this later, but I kind of punted and decided to go with the repetition for now.