More stable reduce operations by default

- add an accumulator dtype to CAReduceDtype (acc_dtype)
- by default, acc_dtype is float64 for float32 inputs
- then, cast to specified output dtype (float32 for float32 inputs)
Fixes problem discussed in https://groups.google.com/d/topic/theano-dev/g2w3LhJMSH8/discussion