Some minor reorganisation so that ModelExtension moves use the same code
as the CoreModel moves in order to determine whether the move is
accepted. A by-product of this is that we avoid having two calls to
logLikeFactor(), so there could be an increase in efficiency.