Fixed prunning for AMD

1. Made warp_any buffer volatile

Having several threads inside a work group writing to the same
local/global memory location is not defined by the OpenCL specification.
However, in CUDA it is defined and having several threads inside a warp
writing the same value to the same memory location is safe.
For AMD, it should generate a bank conflict, resulting in serializing
the write operations. In practice, the kernel does not produce the
correct results possibly because of the compiler.
Added enum for OpenCL vendor, get_vendor_id function

1. Added ocl_vendor_id_t type
2. Added get_vendor_id function
Removed old comments
Hide warning messages in release build
First attempt to automatically select opencl sources depending on device.
The case of OCL_FILE_PATH is not treated yet and its behaviout will have to change in order for automatic
selection to work on a development environment