merge confab into openbabel
Merge branch 'confab' of https://github.com/cowsandmilk/openbabel into confab
Porting commits from the original Confab:

torlib.txt, rotor.cpp:
* Using Graph Symmetry, remove symmetrical torsions.
* Reduce the torsions by incorporating graph symmetry. Note that torlib.txt trumps this in the case of CX3 where X is a halide
* Force Forcefield setup always. IsSetupNeeded() fails silently in some cases
Remove confsearch.h. Unused.
Add basic test for QCP align.
Turn confab into an Op.
Add confabreport output format used to replace 'calcrmsd' executable in original Confab. Tidy up opconfab code, and suppress writing out of the original molecule.
Fix InChI reading bug (segfault) reported by Fredrik Wallner on 11 Apr. A call to DeleteHydrogens removed hydrogens referred to in the stereo section. I've moved it past this.
Merge pull request #15 from baoilleach/master

Bugfix for segfault in InChI reading reported by Fredrik Wallner on list.
Final changes to make confab ready for merging:
1. Revert changes to IsSetupNeed() as asked by Geoff
2. Remove calcrmsd and confab executables
Merge branch 'master' into confab
Merge branch 'master' into confab
Remove spurious trailing s in include line.
Fix warning with sscanf format specifier (no decimal needed).

Also fixed reading TDDFT data from G09 files.
Change header to provide Eigen2 compatibility.

Thanks to Craig James for the heads-up.
Fixed two bugs:

1. A nitrogen-containing aromatic rings could canonicalize two different
ways when they were canonicalized as part of a molecular fragment.  In
setting up the initial atom graph invarients, implicit H was ignored on
aromatic nitrogens, so the two nitrogens in in c1ncc[nH]1 were not
distinguished and it could canonicalize as either c1ncc[nH]1 or c1[nH]ccn1.
This only occurs when using a bitmap mask to create a fragment SMILES
(otherwise the two nitrogens are distinguished by other bonds).

2. A segfault that happened when the same molecule was canonicalized
multiple times.  A StereoFacade object is created in CanonicalLabels, then the
OBGenericDataType::StereoData that it points to was deleted causing a
segfault the second time a molecule was canonicalized.
Fixed a bug: the OBPairData that records the "SMILES Atom Order" was only
set the first time a molecule was canonicalized.  A second canonicalization
would retain the original OBPairData, even if the canonical order changed.
Improved the choice of which bonds to designate as hash/wedge bonds around a stereo center.

Previously, it often made a hash/wedge on a bond to a ring or a bond to
another stereo center.  This new algorithm favors bonds to hydrogens, bonds
to terminal heteroatoms, bonds to non-stereo centers, and acyclic bonds.
Hash/wedge bonds to ring atoms and to other stereo centers are avoided as
much as possible.
Merge branch 'master' of git://github.com/openbabel/openbabel