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.
Should these just vary depending on the nuclides that are present so that they are equivalent to the first and last entries in the old ``e_grid``?  I haven't seen many libraries extending below 1.0e-5 eV, but something like 30 or 150 MeV seems to be fairly common.