Add equal-lethargy spaced energy grid mapping method

The method is described in [LA-UR-14-24530](https://laws.lanl.gov/vhosts/mcnp.lanl.gov/pdf_files/la-ur-14-24530.pdf). This method requires much less memory than unionized energy grids, especially for problems with a large number of nuclides. In my own testing, I've found that in many cases it can actually perform better than a union grid, probably due to caching effects.

This PR also removes the "union" energy grid option since it doesn't offer much performance beyond this method and requires significantly more memory. The "logarithm" option is now default, so user's who don't specify the `<energy_grid>` should get a bump in performance.

@walshjon You are the most qualified to review this if you have the time.
I think we may actually want to address this at least somewhat in the current PR.  If the user specifies a ``fixed_source`` (or the first batch of an ``eigenvalue`` simulation) with ``E`` >= 20.0 MeV, an out-of-bounds error will occur.  So maybe just disallow that possibility by throwing an error and leave a more robust treatment to a later PR?  It's clearly not an issue people would be running into left and right, but probably still deserves to be fixed.