Fixed bug in sphere.f90, where ABS(rho1) was used instead of the correct 'rho1', leading to sign errors in the efficiencies.
Added a working 'rotation_matrix' function that avoids doing matrix products. Have not tested it with 2d scattering function to see if the wierd streaks are present as was the problem with the original function. ALSO added an improved way to do calculations for ellipsoidal grains (much faster; not sure how much faster...). This removes the rotation matrix parameter for the ellipsoidal function calls, and for each orientation does the bulk of the number crunching ONE time, and stores 4 constants for future use for that orientation. This means that an additional function call 'set_constants' is needed after each orientation change.