Add asynchronous mode for long-running functions in many tests

Hello,

Many tests are using the synchronous mode for long-running functions to be executed: for example, when building a program before to get the building information (cl_program_getBuildInfo). 

I propose to add an asynchronous mode for these tests. It's useful for our fallback, but it also useful for every implementation I think. 

Regards,
Guillaume Oberlé