Issue42

Please consider pulling this branch to fix issue #42.

As discussed in the issue tracker, this work adds casts to the first argument to the upcr_{barrier,notify,wait}() calls to avoid warnings and errors from backend compilers that don't support implicit conversions from pointer types to integer (and possibly others).  Nothing has been done to change the clangupc or upc2c behavior with respect to warnings for certain conversions.

Thanks to factoring the logic over the three runtime functions, there is a net reduction in source code size.