Temporary file names for nvcc now include the process id.

Previously, the CudaContext objects from different processes could
have the same addresses, which would lead to name collisions when writing
temporary files for nvcc. This patch now includes the process id
as well, so conflicts are avoided. This partially fixes issue #45.