Introduce Sequence class

And make MLP inherit from `Sequence`
I am missing the constructor here.

The idea I originally had in mind was not only to get rid of `push_initialization_config` methods, but also from having to mention `weights_init` and `biases_init` in the constructor signature every time. I thought that those will just be passed though **kwargs and super calls to the `Initializable`, which would have a constructor like  that:

```python
class Initializable(Brick):

    has_biases = True

    @lazy
    def __init__(self, weights_init, biases_init, **kwargs):
        super(self, Initializable).__init__(self, **kwargs)
        self.weights_init = self.weights_init
        # Here we request the class attribute `has_biases` that should be set
        # by the developer in the ancestors. Alternatively in can be an object 
        # attribute, like in the `Linear` brick.
        if self.has_biases:
            self.biases_init = biases_init
        else:
            assert not biases_init
```

This would exempt most of bricks from copy-pasting any code that deals with `weights_init` and `biases_init`, just that one has to inherit from `Initializable`.