Added channel monitors to log/compute during the training

https://github.com/lisa-lab/pylearn2/issues/1068 it shows the list of possible monitoring channels and, if the user doesn't specify anything, pylearn2 works as it works now, otherwise it prints/calculate only the log_monitors passed.
It solves also the problem of the slowness of ipython.

Example: 

    !obj:pylearn2.train.Train {
    dataset: &train !obj:pylearn2.datasets.csv_dataset.CSVDataset {
        path: 'train.csv'
    },
    model: !obj:pylearn2.models.mlp.MLP {
        layers: [
                 !obj:pylearn2.models.mlp.Sigmoid {
                     layer_name: 'h0',
                     dim: 300,
                     sparse_init: 15
                 },
                 !obj:pylearn2.models.mlp.Linear {
                     layer_name: 'y',
                     irange: 0.5,
                     dim: 1
                 }
                ],
        nvis: 20,
    },
    algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
        batch_size: 10,
        learning_rate: .001,
        monitoring_dataset:
            {
                'train' : *train,
                'test'  : !obj:pylearn2.datasets.csv_dataset.CSVDataset {
                                path: 'testY.csv'
                            },
            },
        monitoring_channels: ['train_objective'],
        termination_criterion: !obj:pylearn2.termination_criteria.EpochCounter {
            max_epochs: 940
        },
        
    },
    extensions: [
        !obj:pylearn2.train_extensions.best_params.MonitorBasedSaveBest {
            channel_name: "test_objective",
            save_path: "best.pkl"
        }
    ],
    save_path: "softmax_regression.pkl",
    save_freq: 1
}


Nitpicking, but it would be nice to use the [underscore naming convention outlined in PEP8](http://legacy.python.org/dev/peps/pep-0008/#method-names-and-instance-variables). 

`monitorsList` --> `monitors_list`