generalize Distribution so that it can used for different number of dimensions
added function to extract a marginal distribution along one of the principle dimensions (should be generalized to an arbitrary cut through the distribution)
added visualization function for 1d distributions