C++ fix: Add tic and toc code generation for C++
C++ fix: Add hashcode function for hashmap
C++ fix: fix profiler when start and stop are executed by different threads
C++ fix: omit if-then-else variable assignment when the type is void
cleaned up cpp config
default multiloops to cluster execution
bug fixes : 1) fix anti-dep calculation in DEG, 2) C++ dynamically allocates new heap blocks when needed
Add C++ random operations
Merge branch 'optiml-clusters' into wip-clusters2
Merge branch 'develop' of github.com:stanford-ppl/Delite into develop
Merge branch 'develop' into wip-clusters2

Conflicts:
	runtime/src/static/cpp/DeliteMemory.cpp
removed depreceated DeliteCollection default implementations
made make arguments user configurable
increased default c++ optimization
Merge remote-tracking branch 'origin/cpp-fix' into wip-clusters2

Conflicts:
	runtime/src/ppl/delite/runtime/codegen/CCompile.scala
	runtime/src/ppl/delite/runtime/codegen/CppExecutableGenerator.scala
	runtime/src/static/cpp/DeliteDatastructures.h
fixed DeliteMemory and multiloop codegen to work with dynamic scheduler
Merge branch 'wip-clusters2' of github.com:stanford-ppl/Delite into wip-clusters2

Conflicts:
	runtime/src/ppl/delite/runtime/codegen/CppExecutableGenerator.scala
removed static cpp config; cpp unit tests passing
changed cuda to compile for multiple architectures
Merge branch 'optiml-clusters' into wip-clusters2

Conflicts:
	runtime/src/ppl/delite/runtime/graph/ops/OP_MultiLoop.scala
	runtime/src/static/scala/io/DeliteFileInputStream.scala