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.

Yes you could make the whole of debug info assembled into one.  But don't return it, just make it an argument of the function that is appended to. I don't want to have dynamically allocated strb structures for no good reason.  Oh and while at it make this function static, to reduce symbol pollution.

And you could even add a strb_cstr() method to make the copy to regular C memory.  You don't have to do it, but I'll probably do it myself later anyway if you don't.