BUG: Force observations to NumPy arrays in Stochastic.observe.
BUG: Do not sum over all axes in utils.linalg.chol_logdet

Given an array of Cholesky factors, the function now computes the log
determinant for each factor without summing them together. This caused
bugs for the lower bound evaluation in GaussianArrayARD.
ENH: Implement CGF and random methods for GaussianArrayARD.

For GaussianArrayARD: Cumulant generating function using the messages
from parents is now implemented. Also, random samples can be drawn by
using the method random.
TST: Add tests for GaussianArrayARD CGF computation

Tests for GaussianArrayARD's method _compute_cgf_from_parents, which is
used to compute the cumulant generating function.