Cleanup user event init
Cleanup user event init

* only set context and status if no error;
* only set status once;
* avoid potential null dereference when setting time_queue;
* set refcount to 1.

The last change in particular is important to alloww proper release of
user events (otherwise a clReleaseEvent would fail on asserting that
the decremented refcount was nonnegative). This is also consistent with
command events which always start with a postive refcount.

pocl/pocl,Oblomov/pocl,vkorhonen/pocl,pocl/pocl,jrprice/pocl,pavanky/pocl,vkorhonen/pocl,Oblomov/pocl,franz/pocl,pavanky/pocl,vkorhonen/pocl,vkorhonen/pocl,jrprice/pocl,rjodin/pocl,jrprice/pocl,franz/pocl,pocl/pocl,pavanky/pocl,rjodin/pocl,Oblomov/pocl,pavanky/pocl,franz/pocl,jrprice/pocl,franz/pocl,pocl/pocl,Oblomov/pocl,franz/pocl,rjodin/pocl,rjodin/pocl,pocl/pocl,Oblomov/pocl