err_str passed as far as gpuarray.pyx and PRINTED (Issue #27)

This is a first pass at getting the OpenCL debug information back to the gpuarray user.  

At the momemt, the 'pure C' in ```gpuarray_buffer_opencl.c``` grabs the debug log information provided by OpenCL, and then appends the listing of the kernel (which is helpful, since the kernel is assembled from various preambles, and the debug info's line counting begins from the start of all the various sources).

At the moment, it's getting passed up to ```gpuarray.pyx``` and getting PRINTed there (line 1871).  Of course, it needs to be fed back to the caller cleanly, but I wanted to get some feedback so far...

All the Best
Martin
:-) 

PS: There's also some commented out code (of mine), for a previous run at the buffer-length logic, but the current way seems more in keeping with the way that OpenCL is doing the sizing/allocation itself.

A possibly better way to do this would be to call `strb_ensure(&debug_msg, log_size);` and then pass `debug_msg.s+debug_msg.l` to clGetProgramBuildInfo as the log parameter.

This avoid a second alloc and a copy of the data.  You can also just skip the clGetProgamBuildInfo call if the strb_ensure() call fails instead of returning an error.