Add rectilinear tally meshes
Created by: smharper
This PR adds a
RectilinearMesh class to the C++ and Python sources. It's similar to a regular mesh except that the mesh bins can have unequal spacing. I plan to use this for tallying on PWR lattice geometries where it makes sense to have slightly larger mesh cells around a lattice periphery to capture the inter-assembly gap. It's also useful to match up the z-axis on a multiphysics mesh that is irregular in order to make mesh boundaries line up with spacer grids.
I've run two test cases (not included in this PR) to validate the results against regular meshes. In one case, I made rectilinear mesh that lines up exactly with a regular mesh and confirmed that they get the same results for collision, tracklength, and current tallies. For the second case, I made an irregular rectilinear mesh and confirmed that results from an inscribed regular mesh summed up to the same answer (within machine precision).
The PR also has two bugfixes for meshline plots. Those plots now work with a 1D regular mesh and they no longer segfault when a thick mesh line lies outside of the plot boundaries.