split calcEneneryAndDerivs into stages using calcEnergyAndDerivsMaybeX
provide more access to xplor ensemble simulations
expose the ensemble simulation inside the pyEnsemblePot
implement the outline of ensemble shift averaging for ensemble size=1!
add a check for the ensemble size in average_shift_cache
remove calcEnergy method use ensemble based calcEnergy

note calcEnergy now becomes _calc_energy all calls to calculate an
energy pass through pyEnsemblePot and the ensemble code