Volatile, const and pointer types were previously available, but not
working. This patch adds handling for OpenCL builtin functions.
Some atomic functions are added to show examples of use of
the PointerType and the VolatileType.
This depends on:
-First, splitting opencl-c.h file: https://reviews.llvm.org/D63256/new/
-Second, Adding generic types: https://reviews.llvm.org/D63434