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.

Would you be Ok with the whole of the debug info being assembled using strb (the function return type then becoming GPUARRAY_LOCAL strb *)?  (the c-str extracted would then have to be memcpy()d into a regular c-str, since the strb-derived c-str has to be h_free()d, though?).