Added
1. `BayesianNetwork.get_random_cpds` method to randomly parameterize a network structure.
2. Faster Variable Elimination using tensor contraction.
3. `factors.factor_sum_product` method for faster sum-product operations using tensor contraction.
Fixed
1. Bug in `DynamicBayesianNetwork.initialize_initial_state`. 1564
2. Bug in `factors.factor_product`. 1565
Changed
1. Runtime improvements in `DiscreteFactor.marginalize` and `DiscreteFactor.copy` methods.