IndexSpace

I'm trying to implement a language model in pylearn2 for which both my input and output are word indices. Like suggested in issue #504 I implemented an IndexSpace which automatically converts from indices to an indicator vector OR to a concatenation of one-hot vectors i.e. for 4 possible labels (nclasses = 4) we have [0, 2] -> [1 0 1 0] or [1 0 0 0 0 0 1 0]. If this is useful for other people and can be merged I'll finish writing the np_format_as as well (which isn't finished yet).

I tried it with MNIST and it seems to work fine. Using IndexSpace makes the epochs around 2% slower.