Fix double free on CmProgram
Fix double free on CmProgram

Example testing shows double free CmProgram on CmDevice destructor if
user explicitly call CmDevice::DestroyProgram before DestroyCmDevice.

Signed-off-by: Wei Lin <50ffa018a714dca87115e1e485247b041e284cc2@intel.com>

wlin70/cmrt,01org/cmrt,01org/cmrt,wlin70/cmrt,01org/cmrt,wlin70/cmrt