Add Inter-Block Lock-Free Synchronization by RootbeerGpu.syncblocks(int)

Hello Phil,

please merge ```RootbeerGpu.syncblocks(int)```.

Inter-Block Lock-Free Synchronization is based on [1].

- Please can we use ```-I/usr/local/cuda/include``` instead of ```-I/usr/local/cuda/targets/x86_64-linux/include/``` in the compile scripts?
- One known issue: ```gridDim.x``` might not be valid when using ```Rootbeer.run(List<Kernel> work)``` because ```gridDim.x != num_blocks```. Therefore we should forward the real ```num_blocks``` from ```entry``` to ```at_illecker_syncblocks(int goal_value)```

Thanks!

Martin

[1] http://eprints.cs.vt.edu/archive/00001087/01/TR_GPU_synchronization.pdf