Add get_num_examples() method

So far, it is impossible to get the number of examples without getting a
matrix directly which is only possible on dense_design_matrix and
sparse_dataset with get_design_matrix() method.

This commit adds a method get_num_examples() which returns the number
of examples in the dataset. It also deprecates the attribute num_examples
of dense_design_matrix in favor of Dataset.get_num_examples().
Use new method Dataset.get_num_examples in SGD

Previous PR #733 broke sgd.py for datasets with no get_design_matrix()
method and for settings with no monitoring datasets.

This commit makes use of new method Dataset.get_num_examples to avoid
using DenseDesignMatrix specific methods and allows no monitoring
datasets.
Added get_num_examples to TransformerDataset

(Modified by DWF: Use Vincent's wraps from pylearn2.utils instead.)
Fix pep8 issues and remove test_sgd from white list
Maxout L1 weight decay: T.abs doesn't exist.
The correct name it T.abs_

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Merge pull request #971 from dwf/get_num_examples_squash

Rebase & squash of get_num_examples #880
Fixed CompositeLayer documentation
Added input_source attribute to MLP class to allow for multiple inputs
Updated VectorSpacesDataset
Merge pull request #976 from bartvm/composite_layer_doc_fix

Fixed CompositeLayer documentation
Added test for multiple inputs
Fixed composite layer test to include sources for composite input
fixed is_numeric_batch() to recognize CudaNdarrays as being numeric batches
Fix file format.
Use direct import
Remove a warning from a test ast pylearn2 warn when save_path isn't used
Add a test for Theano that depend on pylearn2 stuff.
cache the cifar 10 datasets
Don't load TFD too many times before each test. Keep only 1 dataset version in ram at a time.

setUp() is called before each tests.
Don't keep all loaded datasets in ram.