Design of the primary flow components

Each primary flow component has exactly two classes to support its logic: a subclass of WVPrimaryFlowComponent, e.g. WVInternalGravityWaveComponent and a Methods class, e.g., WVInternalGravityWaveMethods.

Any subclass that wants to support internal gravity waves must be a subclass of WVInternalGravityWaveMethods and then after WVStratifiedFlow and WVTransform have had their constructors called, the instance method -initializeInternalGravityWaveComponent can be called. This will add the primary flow component, and initialize the various variables need to support those components.

The motivation for this design choice was to keep the logic surrounding particular flow components in one place (okay, fine; so it ended up being two places).