Fast MCMC sampling for Markov jump processes and continuous time Bayesian networks