Initializeable

For issue #24 
I think it is OK that `Initializable` subclasses `Brick` because its semantics is "an initializable brick", i.e. an `Initializable` *is* a `Brick`.

As to `Regularizable`, regularization is planned to be performed by means of introducing changes to the computation graph.

Moving `_push_initialization_config` and `push_initialization_config` to `Initializable` makes certain sense. I am only afraid that at some point we will want to make them automatically callable from application methods, which is harder to do if they are not always part of the brick.