[MRG] Generic multi layer perceptron

Currently I am implementing `layers_coef_` to allow for any number of hidden layers.

This pull request is to implement the generic Multi-layer perceptron as part of the GSoC 2014 proposal. 

The expected time to finish this pull request is June 15

The goal is to extend Multi-layer Perceptron to support more than one hidden layer and to support having a pre-training phase (initializing weights through Restricted Boltzmann Machines) and a fine-tuning phase; and write its documentation.

This directly follows from this pull-request: https://github.com/scikit-learn/scikit-learn/pull/2120
No, you only need to use `MultiLabelBinarizer` if you have multilabel data represented as a list of lists of classes (or similar). This format is deprecated, and the `MultiLabelBinarizer` is provided as a utility for users because, while cumbersome to process, that format is arguably more human-readable than a label indicator matrix which will continue to be supported.

So in short, use `label_binarize` and your support for that old format, but not for label indicator matrices, will disappear together with the rest of the deprecation.