Changed bound() function so that it efficiently deals with scalars and vector inputs without calculating unneccessary and possibly invalid expressions
Added full Metropolis Hastings step method for arbitrary (asymmetric) proposal distributions. Allows to create efficient custom samplers.
Added Gaussian Mixture distribution, which can be efficiently sampled from using Metropolis Hastings and a custom Proposal Distribution