Refactor data_transform to allow datum, cv:Mat and Blob transformation

Move data_mean into the data_transform class to facilitate data transformation. 
This way Data layers don't need to hold it and pass it all the time. 

Looking over the crash it looks like NVCC just hates OpenCV's mat.hpp.

On Thursday, September 25, 2014, Sergio Guadarrama <notifications@github.com>
wrote:

> In include/caffe/data_transformer.hpp:
>
> >     * @param datum
> >     *    Datum containing the data to be transformed.
> > -   * @param mean
> > +   * @param datum_vector
>
> Sure I will replicate the definition for each case
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/BVLC/caffe/pull/1070/files#r18044767>.
>