Add max_nlev to cvmix_data_type

cvmix_data_type now uses nlev for "number of active levels" (i.e. number of
layers in the ocean) and max_nlev for "number of total levels" (i.e. size of
diffusivity arrays, depth arrays, etc). The wrapped interfaces of tidal mixing
and kpp mixing both use max_nlev when determining the dimension of the
diffusivity output fields.

When you use cvmix_put to set nlev, if max_nlev has not been set yet then it is
assigned the same value. Similarly, if you set max_nlev and nlev is not yet set
then it is assigned the same value... this is primarily meant to avoid having
to add several additional put calls in the stand-alone driver and the POP code
base.

I also added the "-fp-model precise" flag to the intel build options for the
stand-alone driver because otherwise these changes would allow the optimization
to do things that introduce round-off level answer changes when compared to the
old output.