Initial check-in of "Reduce 3.0" source code from Andrew Leaver-Fay,
performed by Ian W. Davis on 15 June 2006 at 3:40 pm

I believe I have removed all the generated files (.o, libraries, executables),
but I may have inadvertantly removed something important or left in some junk.
completely reworking the decomposition scheme.  I now maintain information on each hyperedge
int the GraphToHoldScores of exactly which dots should be scored.  This has been a goal
for a while.  The better decomposition produces fewer high-degree hyperedges, so dynamic
programming succeeds at more cases.  I've also added stronger rules for vertex elimination,
so that I can now eliminate degree-3 edges.  I do this in two stages: first with "safe"
eliminations that are guaranteed to not increase the treewidth of the graph, and after
that, with unsafe eliminations, which may increase the treewidth -- better to have 
a smaller graph with a high treewidth when beginning brute force elimination than
to have a smaller-treewidth graph with a larger state space to search.
incorporating the multiple-modeling handling code that was added to v2.23
which I had overlooked when collecting versions for 3.0.  Bumping the 
version # to 3.2.  Tweaking the output dp sends to the screen.
adding elimination rules for vertices with one state; problems where
some vertices have no real options are found when optimizing the
network following initial optimization so that the consequences of
sub-optimal flip states can be known.  GLN and ASN have one state
when restricted to their sub-optimal state. (HIS has 3, so these
new rules do not effect HIS).
Renaming this version from 3.2 to 3.02 in reduce.C
sorting USER MOD Set entries that are placed in the output PDB.
fixing "flip" records for atoms that belong to flipped groups.
fixing "multiple alternate conformations" bug, which was really the 
result of calling "push_back" too many times on a vector (instead
of overwriting the entries).
adding #include <cassert> and #include <assert.h> directives for older versions of gcc
- set end-of-line marker to LF for all text files
  Rlab policy is to us LF only for all source code...

- removed a file that appeared to be junk left by someone's text editor.
Added line feed at end of Mover.C
- removed obsolete Makefiles, so as not to confuse our users
fixing a bug that resulted when all states for a particular vertex had been disabled;
if a vertex has 0 possible states that it can be assigned, then it's not possible
to assign any state -- such cases occur when looking for the lowest penalty, and states 
with higher penalties are disabled. If all the states on one vertex have a high
penalty, its possible to disable all states on that vertex -- in this case, it means
that a low-penalty assignment of states is not possible.  I've inserted code to
simply check if any vertex has had all of its states disabled, and if so, to 
avoid the optimization step.
Removed an "extra qualification" error reported by gcc 4.1, by removing
the Foo:: in front of blub() below:

	class Foo {
		...
		Foo::blub();
		...
	};
Added reduce het dictionary, taken from current MolProbity source.
SConscripts for integration into phenix installation
link as reduce/exe/reduce; don't use ibtbx.env.write_dispatcher_in_bin since we now have phenix.reduce
- changed internal version/date string to match date of Andrew's last changes
changing HIS carbons to regular carbons and not arromatic carbons
added comment to reduce.C and updated version number/date for APL's last mod.
fixing bug in optimization code that failed to keep optimal network states
when a network was forced to incur a penalty.
- added README from 2.13 Windows release.  This seems to be the newest one
  available.  May need further work to reflect the changes in the 3.x line.