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.
Ok, an error is now thrown if there is a monoenergetic source > 20 MeV. We can remove it with a separate PR fixing the min/max energies later.