Fix clCreateKernel with multiple devices

When using multiple devices (POCL_DEVICES="pthread pthread" for
example), clCreateKernel fails with CL_INVALID_PROGRAM_EXECUTABLE.

program.llvm_ir is indexed by device->dev_id.
Implement CL_PROGRAM_NUM_KERNELS in clGetProgramInfo.
Implemented CL_PROGRAM_KERNEL_NAMES.

Also works when pocl_llvm_get_kernel_names returns 0,
but with empty kernel file that function segfaults instead.