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.
Those can probably go in the energy_grid module. I'll go ahead and move them.