use real Int's for C shapes

- some decrease in performance expected
- avoids a problem with integer overflow leading to a segmentation fault because of the implicit conversions (GPUTables)
codegen: simplify cshape, csize
codegen wibbles
codegen: smarter handling of adding now binding to the environment
marshal array shapes as individual components

- don't convert to a C struct
- keep Haskell Int size instead of converting to 32-bits
update map kernel skeleton
Warning police
generalise setter array index to Rvalue
add toIndex and fromIndex
update index space kernels

- backpermute, transform, permute
more c shape helpers
update prefix sum skeletons
update reduction skeletons
wibbles
Fixed issue with warp synchronization in foldAll kernel.
now requires base-4.6

this drops support for ghc-7.4
Merge pull request #5 from bmsherman/master

Fixed issue with warp synchronization in foldAll kernel.
some renamings
fix use of checked zipWith3
C type of Haskell Int