Properly handle kernel compilation failure

- without this, syntax errors would result in pocl_llvm_build_program
  returning 0 and clCreateKernel failing in the following code, returning
  CL_OUT_OF_HOST_MEMORY
Check for NULL kernel_name in clCreateKernel
Properly handle invalid kernel name in pocl_llvm_get_kernel_metadata
Add tests for commit c94ed021030bbc85a6c5d281e5a73c362cfdd871 ..

... "Properly handle kernel compilation failure" - check for
CL_BUILD_PROGRAM_FAILURE of invalid kernels
Add tests for clCreateKernel changes

- commits 7e40b6159cbbf and adb54b375c2843
Move check_cl_error() function to libpoclu

- it could be useful to others as well
Add TEST_ASSERT and CHECK_OPENCL_ERROR_IN macros

- assert() from assert.h is not very good for tests,
  since it depends on NDEBUG macro
- replace all assert uses in runtime tests with TEST_ASSERT
Remove an assertion that's redundant now

- causes abort instead of CL_INVALID_KERNEL_NAME being returned
Merge pull request #90 from franz/minor_bugfixes

Merge "Minor bugfixes" pull request #90 from Michal