switch to unified virtual addressing CUDA memcpy

Host / device copies are distinguished by the virtual address of the
pointers instead of explicit memcpy modes.
replace softmax cudaMemcpy with caffe_gpu_copy