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
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
some renamings
fix use of checked zipWith3
C type of Haskell Int
Merge branch 'refs/heads/master' into codegen

Conflicts:
	Data/Array/Accelerate/CUDA/CodeGen/Reduction.hs
scan wibbles
reduce wibble
codegen updates for stencil1

- inline definitions for the boundary condition handlers
- if all threads are within the inner region, don't do boundary checks. requires compute >= 1.2.