Successfully separated reconstruction volume intersection cuts from the
binning process, somewhat slower than when done simultaneously but less
demanding on GPU memory and more flexible in cases where single files
contain more histories than can be processed on the GPU simultaneously.
The extent to which this has resolved the issues encountered with the
experimental data sets containing about twice the number of histories than
typical simulated data sets remains to be seen.  If the modifications in
this commit do resolve this issue, the faster implementation will become
an optional configuration and this new process will become the default
moving forward.

Unlike most commits at this stage of development, the modifications in
this commit change the structure of the main() function itself and since
this commit is being made immediately after verifying proper function, the
print statements and writing of intermediate data to disk related to
debugging and testing has not been removed nor has the code been cleaned
up so that it reads clearly.  If this new procedure overcomes the issues
with the previous implementation, the next commit will include the removal
of the statements/commands used for debugging, simplifications, and
modifications of the program status print statements that no longer
coincide with the actual status of the program.