Separate implementation of MetropolisHastingsSG

Fixes an item in #47.