General and Efficient Bayesian Computation through Hamiltonian Monte Carlo Extensions