WIP Refactor Distribution and random variables #2833
Work in progress!!
Refactoring the Distribution class and the various random variable classes a bit. The goal here is to decouple those, to make things cleaner, and I think it should also make it easier to play with different backends.
This changes a bit how we think about the shapes of variables. Previously the shape was set statically by inspecting the test_value of the created theano variable, and then fixed in the distribution. With this PR, each distribution has two shapes: