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.

Note that contrary to almost all strb functions strb_cstr can fail and return NULL (and this generally indicates that one of the previous functions failed).  You should check for that and set err_str to NULL in that case.