Added functionality: new types of moving refinement regions #59
This PR expands Enzo's capabilities by adding two main types of functionality and fixes one bug. The new functionality is:
In addition to these new features, the original moving RefinementRegion code (which just constrains refinement to be in a subvolume, but does not force refinement or restrict it to a specific type of refinement) now linearly interpolates between times in the same manner as the two new moving RefinementRegion.
All of the moving refinement region options now do error checking - if the current simulation time is before or after the times listed in the entries in the user-supplied RefineRegion file, Enzo gives an error message and exits. This is a highly desirable behavior, because otherwise the refinement region would stay stationary and not give any warnings.