Make heatup dwell times comparable to cooldown dwell times.

__init__.py:
 - Remove calc_dwell2_stats from import list (now called by calc_constraints2 function).

base.py:
 - Add code to update limits attribute in ConstraintModel if find_limit_crossings() is called with a new limit set.
 - Add keyword "match_cool_time" to indicate whether or temperature range between heating and cooling times should match, making the time comarison more relevant.
 - Update comments to reflect changes.
 - Simplify code to reflect how limits in ConstraintModel object are updated.
 - Rename Ts to Ts_dwell2 in calc_cooldown_times() in calc_dwells2() for clarity.
 - Add function to modify heating dwell time so heating and cooling time calcuations reflect the same temperature range.

pyger.py:
 - Add heating and cooling stats calculation to calc_constraints2() and return these data along with original dwell2 recarray.
 - Make minor changes to cooldown stats calcuation function calc_dwell2_stats().
 - Add function to calculate stats on heatup dwell created to match cooldown dwell.