Don't close file in readVspAirfoil.

The call site for this function expects the file to remain open -- it takes
care of closing it itself.  The double-close presented no problem on
Windows and MacOS, but caused Linux to crash.
Rewrite BuildTargetMap to speed it up.

This is a major rewrite of BuildTargetMap to speed it up by using
the implied structure of the surfaces as much as possible.  Some
of this results in approximate source limiting, but everything should
be good enough for practical use.
Make rigorous growth limiting optional

Add file and GUI options to control rigorous 3D mesh growth limiting.  This limiting
step is computationally expensive, but may be required for certain applications and
for certain geometries.

Geometries with facing (but nonintersecting) surfaces such as nacelles or high-lift
systems present this situation.

Applications which will need to grow a volume mesh in those facing gaps will need the
mesh to be limited across the gap.  Other applications may not have this requirement.
Fix MS_Wing chord update on scale.

The previous code assumed that the tip chord of one segment would update
the root chord of the next segment in order to maintain consistency.  This
assumption proved to be false.  Rather than trigger matchWingSects which
depends on the current active section, this fix simply sets both the
root and tip chords.

Bug reported by Bill Fredericks.
Fixed compilation warning messages on gcc 4.5
Fixed some compilation warning messages with Clang.
Fixed compilation warning messages with INTEL compiler.
Finished removing compiler warnings.
Merge branch 'BTM_Rewrite' into Fixes2.2.1
Change line endings from DOS to Unix on example files.

The example files had mixed DOS/Unix line endings.  VSP doesn't care, but
making them consistent will make them easier to maintain.
Update example files to latest VSP file format.

The example files had become far out of date as new pieces of information
were added to the VSP file format.  On load, VSP would throw a warning for
missing information and fill in a suitable default.  This causes a large
number of messages to display to the console -- which is unnerving to new
users.

This change was performed by simply opening the old files and saving them
with a current version of VSP.
Bump version to 2.2.2

Version 2.2.2 has been a long time coming.  I have been waiting on a few
features to make a 2.3.0 release, but finally decided it was better to get
these fixes out sooner than later.

The mesh growth limiting step of CFDMesh 'Build Target Mesh' has been
totally re-written.  This new version should be _vastly_ faster for just
about anyone out there.  The new BTM algorithm follows the surface
topology rather than doing a full spatial search.  For the rare cases
where a full spatial search is still required, there is an optional flag
to enable it.  Even that mode should still be much faster than before.

Bug fixes in this release:
 - Don't close already closed file in readVspAirfoil (Linux crash)
 - Fix MS_Wing chord update on scale
 - Fix warnings on various compilers
 - Update example files to silence warnings on load
Threaded version check with message to main thread to display message.
Fix CG contribution of point mass components.

Despite its name, getTotalTranVec() only calculates the translation of the
component within its own coordinate system.  If the component is connected
to another component, this does not result in the coordinates in absolute
space.

Instead, establish a point at the origin of the local system (a default
vec3d) and then transform it to global coordinates.  The transformation
matrix used already incorporates getTotalTranVec().
Fix bug for CFDMesh half models.

The intersection plane for generating CFDMesh half models was not fully
set up.  This included not setting the GridDensityPtr and allocating a
target map.
Bump version to 2.2.3

Version 2.2.3 contains a triplet of small bug fixes that have bitten
some users.  I have been putting these off waiting for an upcoming
feature release, but now seems to be the time to get these out there.

Bug fixes in this release:
 - Threaded version check
 - Fix CG contribution of point mass components
 - Fix CFDMesh half models when a surface is actually cut

Placing the version check in its own thread allows VSP execution to
continue during the version check.  This is significant for situations
where the computer has internet connectivity, but the VSP web server is
experiencing problems.  The HTTP library used by VSP does not let you
change the timeout from 60 seconds, so in these situations, VSP paused
for 60 seconds on startup.

The CG contribution of point mass components was calculated using their
local translation -- ignoring the translation of any components they were
attached to.  This fix makes their contribution use their actual global
x,y,z position.

When the half model option is selected for CFDMesh, VSP makes two passes at
eliminating geometry in the -Y domain.  First, before any meshing occurs,
surfaces which fully lie in that domain are eliminated.  Then, the
remaining surfaces are sliced by a Y=0 plane.  That intersection line is
obeyed by the mesher, and any triangles whose center point lies in the
wrong domain are eliminated after mesh generation (when interior triangles
are culled).

The second process needs the cutting plane to be a fully-fledged plane,
including a curvature based target map.  Prior testing had only exercised
the first code path (which could complete with an incomplete cutting plane).
This bug basically amounted to some null pointer dereferences and improper
allocation/setup for the cutting plane.