A rather large new set of additions.  One key change was adding the
contributions to fields that occur when the source and measurement point
are in the same layer, enabling density of states computations.  Thus
the new density of states functions.

I also added numerical integration functions for the density of states
over wavevector and for the flux over both wavevector and frequency.

I changed the test files such that they do not compute the scattering
matrix more times than necessary.  To help with this I added the
capability for numerical integration over many flux planes at once.

Also changed all units to a consistent set of nondimensional variables.

Smaller:
- Changed general formatting such that most objects are passed by const
  reference rather than point, and outputs are generally pointers.