Pull request

I've added a couple minor features:

1. A check to make sure that the ones matrix is large enough to do a particular sum.
2. A keyword argument to set the size of the ones matrix during cublas_init if desired.
3. More detailed cublas error reporting (which mirrors the cublas errors in CUDA 6.0)
I'm not sure about the extra exception types. This will break existing code that catches `CUDAMatException`. You could derive both from `CUDAMatException`, but do you think the distinction of three exception types is useful at all? In any case, we could add the error code as a member variable or property so one can distinguish the errors at run time if needed.