main: added call to GridVoxel::find_nearby_lines()

The opacity calculation now only sums over "nearby" lines rather than
all lines. This should make the calculation go much faster, especially
for large model atoms.
main: fixed missing space in log file message
main: removed extra endl() in log file dump
main: added extra endl() to log file dump
do_ALI(): removed log file output for ALI convergence at every wavelength point
main: added OpenMP parallelization to find_nearby_lines() step
Ray::formal_soln(): added diffusion condition at depth
Ray::formal_soln(): changed iterator to const_iterator for read-only iterator
Ray::formal_soln(): fixed sign error in numerical derivative of diffusion calculation
added function calc_emergent_spectrum()

The emergent flux is NOT the same as the flux in the outermost layer.
The former can never be negative (you can't see light moving away from
you), while the latter certainly can. So the integral over the specific
intensity to calculate the emergent flux is over only outward-pointing
rays.
main: removed re-definition of GridVoxel iterator in several places