SVHN cache

Fixes #601

Note to lisa members: Train data (.h5) on lisa PYLEARN2_DATA_PATH is broken and has to be processed again. 
You're changing self.X, self.y using either of start, stop or scale, and any change on data will reflect those changes on disk.
You'd be right if the iterator applied the scale,center,start, stop when was converting the data to numpy array, but at dataset level that is not the case.