OpenCL strings are NUL-terminated but Go strings aren't

OpenCL string-returning functions include NUL terminators, included in the length of the returned string. Go strings shouldn't contain these terminators, but at present, they do. This commit fixes that and adds tests to that effect.