Refactor wrapper get info macros (in progress)

All wrappers will have three info functions:
* cl4_wrappername_get_info() - returns info object
* cl4_wrappername_get_scalar_info() - returns scalar info value
* cl4_wrappername_get_array_info() - returns array info value

Wrappers such as program, kernel and event will have additional
info macros for clGetProgramBuildInfo(), clGetKernelWorkGroupInfo()
and clGetEventProfilingInfo(), respectively.

There are two additional macros in abstract_wrapper.h which
simplify extracting the value from the information object,
namely cl4_info_scalar() and cl4_info_array().