Bug fix for reductions in CUDA backend

- Intra warp reductions now use the volatile keyword
Bug fix to random number generation in CUDA backend

- blocks and threads were flipped in launch config
Removing deprecated files from the repo
Suppress them warnings
Fixing leaks in CUDA JIT backend
Fixing Leaks in OpenCL JIT backend
Fixing Memory leaks in CPU TNJ
Merge branch 'pavanky/jit_fixes' into bugfixes
Merge pull request #131 from pavanky/bugfixes

Various Bugfixes
- Fixed reductions in CUDA backend
- Fixed random number generation in CUDA
- Fixed memory leaks in all three backends.
Moving src/array to src/frontend/cpp
Adding support for binary functions with scalar inputs

- rem, mod, min, max, cplx2, atan2, pow
Compilation fix for null pointer in constructor
Removed s8. Changed b8 to be of type char
cast to b8 now results in arrays made up of 1s or 0s
Fix for get device ptr
Add a debug version of CU_CHECK
updated math operations for all backends

- af_and (operator &&)
- af_or  (operator ||)
- operator-
- operator!
- operator%
Merge remote-tracking branch 'origin/arith' into devel

Conflicts:
	src/backend/device.cpp
BUGFIX: Buffer nodes from subArrays now use the parent ptr and offsets
bugfix for cuda on windows

float2 type with volatile qualifier is causing missing copy constructor
compile errors on windows platform. Until, cuda cuComplex headers add
volatile versions of copy constructors for floatn types, the change
made in this commit is the work around.