LRA Bug Fix, Error Messages, and Scattering

I made some bug fixes and slight improvements, including:

- LRA.py bug fixed.  This was a relic of the change from 0-based to 1-based indexing in the getters and setters for group-wise cross sections.
- A large portion of the error messages for getting and setting cross sections had parameters out of order or the wrong number of parameters.  All fixed.
- For group-to-group scattering, all "group1" and "group2" were renamed to more intuitive "origin" and "destination".  A consistent convention of (origin,destination) is used for all routines.
- Inline function for getting the scattering cross section by group was introduced.  This keeps all the logic for how the scattering matrix is stored in one place (at least for getters, maybe the setters could use a similar fix).
- Better error messages are thrown when files sent to materialize don't exist.

I definitely think we should use the array setters here, but it's not a performance hit for anyone right now we can do this in a different PR later if it becomes a slowdown for some later applications.