Airflow network builder and CONTAM improvements

@macumber Here is the pull request I promised earlier this week. It cleans up a number of things, improves the behavior of the translator, and also reorganizes the code a bit. Everything is an openstudio_airflow library rather than an openstudio_contam library. I considered putting the "contam" namespace under the new "airflow" namespace, but decided to leave it as-is. I'm not 100% sure that this is the right way to go, so alternatives are welcome. The functionality of the translator is not changed. I have also added some tests of the CONTAM model object - more are still needed, but this is a start.

There is a new SurfaceNetworkBuilder object that walks the model as a network and visits each surface and subsurface once. This operation is common to both CONTAM translation and AFN object generation and I do not want two completely separate chunks of code doing nearly the same thing.
As an FYI, I think we've settled on this as the best cross platform way to determine if this is a debug build

_DEBUG || (__GNUC__ && !NDEBUG)