Cleanup usml::ocean API
closes #64, closes ##65

* Replace all instances of boost::math::isnan() with standard isnan()
* Clean up scattering models
  -- Remove concept of phase, scattering models don't support it.
  -- Correct the description of scattering_model and scatteing_lambert.
  -- Replace scattering angle names (angleI, azS, etc.) with longer,
     more descriptive versions that don't use camelback.
* Use consistant implementation for facade pattern.
  -- Change name of scattering_strength() to scattering()
  -- Consistantly use USML coding standards for fascade properties.  Not setXXX() and getXXX() methods.
  -- Have both boundary_model and volumne_layer_model inherit from scattering_model.
  -- Use attenuation, reflect_loss, and scattering as the property names for the attenuation_model, reflect_loss_model, and scattering_model facades.
  -- Make the internal representations of attenuation, reflect_loss, and scattering private instead of protected.
  -- Fix errors in doxygen.  Add scattering models to boundary section.
  -- Separate volume volumne scattering strength model from boundary_model.
* Fix implementation of scattering_model
  -- Remove phase from API for scattering strength.  Scattering strength never has phase.
  -- Eliminate vector form of scattering strength.  Never used.
  -- Incorporate functionality of scattering_lambert.cc into *.hh file.
* Absorb concept of volume_layer array into ocean_model.
  -- Still need to resolve a few issues where this breaks volume reverberation.
  -- Marked those instances @todo tags.
* Replace all #include guards in usml::ocean package with #pragma once.
  -- Although it is a little less standard, it is much less error prone.
* Add version of volume_flat constructor that takes scattering model.
* Improve documentation of interface vs. volume reverb.
* Cleanup reflect_loss models
  -- Remove version of reflect_loss for multiple locations.
  -- Break wave_height_pierson out of reflect_loss_rough and make it a separate model.
  -- Bring implementations for reflect_loss_constant and reflect_loss_rough from *.cc to *.h file
  -- Simplify and document reflect_loss_rough implementation
  -- Change reflect_loss model documentation to say intensity instead of amplitude.
* Fix doxygen documentation
  -- No longer complains of extra "*" character.
  -- Links no longer include trailing period.
  -- ascii_arc_bathy changed to @ingroup boundaries
* Add header file to support Boost 1.57
* Move reflect_loss_netcdf_test to reflect_loss_test.cc from reflect_loss_netcdf_test.cc
* Change name of reflect_loss_rough to reflect_loss_eckart and update to reflect Eckart's original paper.
  -- Implement the simplification from the Jones et. al. paper.
  -- Move wave_height_pierson_test from boundary_test.cc to reflect_loss_test.cc for reflect_loss_eckart_test.
  -- Build a test case that compares results to plots from Jones et. al. paper.
* Create Beckmann-Spizzichino model for surface loss.
* Move some assumptions from waveq3d.h to GitHub Issues.