CGemv now uses vector-vector dot product when appropriate

I changed CGemv (blas_c.py) to use the vector-vector dot product when appropriate. Performance now matches that of Numpy on the same task. (fixes issue #1145)

I tested with the input as a vector and as an array of shape (1,n), and with both singles and doubles, and the result in all cases is consistent with Numpy.