FIX ERROR in which test_position (rather than position) is recorded

This required a change to all code that had been written based on the
idea that only the accepted steps should be used for statistics (this is
not true--if the position is unchanged, the current position should be
counted again in tabulating the statistics).

This involved changes to
- MCMC.prune
- convergence_criterion
- get_mixed_accepts (which becomes get_thinned_mixed_steps)
- and convergence_criterion reporter
Added short-circuit to skip lkl calc when prior is np.inf

When the prior invalidates a parameter value (e.g., it is beyond a hard
cutoff) and return np.inf, you don't want to spend the time to calculate
the likelihood. Added two lines to calculate_posterior to skip the
likelihood calculation when the prior returns np.inf.
Changed number of bins for marginal hists to 25
A hello world program for MPI-based MCMC
In progress commit of MPI implementation of PT
Working implementation of parallel tempering by MPI

Wrote a sample implementation of fitting 2D gaussians. The
implementation required a number of changes to the core bayessb.MCMC
object as well.

Logging of "interesting variables" into the arrays was moved into the
accept/reject move methods as this made it so that external code driving
the walk wouldn't have to do this explicitly.

Because the MPI-based version instructs each chain to perform N steps at
a time, the estimate method had to be modified (rather, a new method,
estimate_nsteps was created) in order to allow N steps to be run at a
time.

Also, I realized that my implementation of PT had been incorrect in that
I was comparing the posteriors for the different chains independent of
their temperatures. This meant that the posterior probability of some
point x was considered to be the same for a chain at a low temperature
and a chain at a high temperature.