Fix propeller editing bug.

Trying to edit a saved & restored propeller component would crash
VSP unless the user changed section first.
Fix bug where duplicate PtrID's could get introduced by adding default components.

Component ID's from the DefaultCompMap were never checked for collisions.
Adding two wings (for example) would result in two components with
identical ID's.
Detect/fix PtrID collisions in readFile and warn user about the collisions.

Version 2.2.0 introduced a bug where files with duplicate PtrID's could
be created.  This will detect/fix those collisions, but doing so may
break the user's model.
Only reset colliding ID's on paste/insert.

When any ID collisions on paste/insert were detected, all ID's on the
incoming components were reset.  After this change, only the colliding
ID's are reset.  This will do a slightly better job of keeping old ID's
whenever possible.
Improve random number used for PtrID.

On machines where RAND_MAX is small (32767 on Windows), the previous
implementation was unsatisfactory.  This implementation will produce
uniform results from 1 to 1000000 drawn from RAND_MAX^2 possibilities.
Design files are initiating sources of parameter setting, not from link.

The set_from_link and set variants differ in how they set a flag to enable
detection of circular sets of parameters.  Plain set() sets the flag to
indicate that it is the starting point.  _from_link sets the flag to
indicate that it is somewhere in the middle of a sequence.

The DES and XDDM files should have used the plain set() from the beginning.
I did not fully understand the differences when this code was written.
Fix mysterious variable changing bug associated with parameter linking.

Sometimes, files with parameter linking would load with the wrong value
assigned to some of the linked variables.  Eliminating this destructor
and accepting the memory leak appears to fix the problem.

Longer term, this kind of bug should be resolved in the ongoing refactoring.
Bump version to 2.2.1

Version 2.2.1 contains a number of small bug fixes.  One of thes fixes is
particularly important -- everyone should upgrade.

The nastiest bug caused components added from the 'external' default
component set to have the ID number of that component.  If multiple such
components were added, this could cause duplicate IDs in the model.  IDs
are expected to be unique, so this causes significant problems.

The external BWB defaults that ship with VSP include a MS_Wing component
with ID 42078344.  This is the most likely number to be duplicated.

If your model has duplicate IDs, you may see strange behavior including
problems with parent/child relationships, parameter linking, and wetted
area/volume totals from CompGeom.

In addition to a fix to prevent this from happening, a check for duplicate
IDs has been added to VSP.  If you open a model with duplicate IDs, a warning
message will be printed to the console and new IDs will be created for your
model.  Unfortunately, this may cause some parent/child and parameter links
to be broken.  If you see this message, check your model carefully.

Bug fixes in this release:
 - Bug when editing a propeller that could crash VSP
 - Parameter linked fuselage variables could mysteriously take wrong values
 - Components created from 'external' default components could have duplicate IDs