C++ fix: cherry-pick 93052cfbe83214f3d40cc1ee2ac5203e08384304 (fix-gpu-cpp branch)
change sendUpdate/recvUpdate to use symbol specific synchronizer (e.g., when two foreach loops are fused)

Conflicts:

	runtime/src/ppl/delite/runtime/codegen/sync/ScalaSyncGenerator.scala
C++ fix: cherry-pick 417299c84de36d93294d816a622673617782c643 (fix-gpu-cpp branch)
Fix for referential primitive types on GPU, add test cases.
Also includes bug fixes for the previous commit.

Conflicts:

	dsls/optiml/tests/ppl/tests/delite/DeliteGPUSuite.scala
	runtime/src/ppl/delite/runtime/codegen/VariantGenerator.scala