Added a thresholded metropolis step method.

Halts if a variable exceeds upper or lower bounds.  Useful for
models like regression in which a noise parameter corresponds to
model fitness and you want to bail early if it reaches a threshold.

Also added _halt call to MCMC._loop