Fix string indexing bug in ReqState.java
Modify Dapparse to provide more error information
Modify dap.yc to accept [=number]
to be same as [number]. This is to
preempt an error from some servers
(i.e. thredds).
Some IOSPs generate null names
for anonymous dimensions instead
of null. This causes e.g. opendap
to create a DDS with occurrences
of [=number]. Modify the opendap
code to convert to the form [number].
Move EscapeStrings to ucar.nc2.util
Add ref doc page on the recommended process for upgrading a TDS.
moved ncIdv build back into mvn by creating its own module
added addVariableString into logic of FileWriter2.addVariable to be able to write String vars to netCDF3 files.
The Nc4Iosp code assumes that the netcdf C library
nc_get/put_vars code works for user defined types.
The netcdf-C documentations says it does, but it is not true
because it uses nc_get/put_varm which only works for atomic
types.

I have made a temporary fix. The nc_get/put_vara code
does handle user defined types. So I modified
the Nc4Iosp code so that if the stride is all ones,
then nc_get/put_vara is used instead of vars.

I have fixed the problem in the netcdf-c library
(see NCF-228) and as soon as it propagates
to the dlls used by Nc4Iosp, the temporary fix
can be removed.
refactored use of new addStringVariable method to use previous method signature to reduce code duplication
made sure the name of the projection was being set in the constructCopy method for all projections in CDM.
1)Define NC_MAX_ATOMIC_TYPE 2)Properly set enum basetype
Merge branch 'target-4.3.16' of https://github.com/Unidata/thredds into target-4.3.16
add static import
fixed download url for tomcat in it module