more expressive CUDA error macro. instead of 'cuda error = 2', now we ge...

When CUDA has an error, it throws a number like "2" or "7" or something like that. Previously, Caffe was just printing out the error number, and the user needed to go look up the meaning of the error number. With this addition to the code, CUDA errors are now printed in plaintext (e.g. "out of memory.")

I verified that errors are still caught properly, and that the tests still pass. Still gives the correct ImageNet-val results.