Added first draft of Hamiltonian Monte-Carlo algorithm