Override __getstate__ and __setstate__ 

We should decide to which extent the bricks should be copyable.
I think that it should be possible to clone a hierarchy of bricks
but without copying the parameters. The reason behind is that
`copy.[deep]copy` and `SharedVariable.copy` behave very differently.
The first actually copies the content of the variable, whereas
the second simple creates another Theano variable. To prevent the
possible confusions it is easier to avoid implicit copying of
parameters.
Nitpicking: Docstrings are supposed to end with a blank line in the NumPy docstring standard.