Sab recalc

Currently, streaming into a new material with a nuclide that accesses the same S(a,b) table as it did in the old material necessitates the re-calculation of cross sections.  This can lead to unnecessary re-calculations of S(a,b) cross sections.

For example, in the case of a pin cell, a neutron could be in the moderator, stream through the pin, and re-enter the moderator.  As is, this requires the re-calculation of H cross sections when the neutron re-enters the moderator.

By keeping track of the last S(a,b) table that was accessed for a given nuclide, this pull request attempts to avoid the extraneous re-calculation of S(a,b) cross sections in the case where:

1) cross sections for a given nuclide are calculated using a given S(a,b) table
2) at the same energy, the neutron moves to a new material with the same nuclide with a cross section still described by the same S(a,b) table

With the change, if the neutron moves to a material with the same nuclide but a different (or no) S(a,b) table, cross sections are re-calculated, as they were before.