add caffe_cpu_strided_dot for strided dot products

This provides a more direct interface to the cblas_?dot functions.
This is useful, for example, for taking dot products across channels.
softmax and softmax loss layers work across channels
test softmax and softmax with loss across channels
implement GPU version of Softmax