A tiny stupid devastating bug corrected

When using the HITRAN database, sometimes the calculated intensities are
extremely unphysically large, up to 1e12 jy.

The reason turns out to be that, when trying to get the index of each energy in
the list of sorted energies, the low and up states are mistaken.

This took me about one day (24 hour) to find out.

In hindsight, I could have found this quicker.

However, I still don't know how could such error be avoided in the first place.
Such a thing (the index of something, especially when the index cannot be out
of the bounds by design --- hence we cannot rely on the segamentation fault
error) is quite difficult to test.

Maybe we should pay more attention to things that are difficult to test.