Add missing headers.

After adding these headers it's actually possible to compile the .cu
files separately rather than in one monolithic THC.cu. "luarocks make"
takes longer doing that tough (any ideas why?) so maybe it's not worth
doing.

There's also a comment in THC.cu saying that thrust doesn't allow multiple
files. I had no problems compiling it on my Linux machine with CUDA 5.5 though.