Node Splitting: A Scheme for Generating Upper Bounds in Bayesian Networks