Add explicit P# rule as suggested on mailing list by Scott McKechnie.
Add support for aromatic detection from + ions (e.g. imidazolium)

Test case suggested by David van der Spoel and patch inspired by
Paul van Maaren. Added some additional explicit SMARTS for bond
typing rules (e.g., isonitriles).
Improved bond typing, thanks to bug reports from David van der Spoel.

Now aromatizes azulene (by allowing 7-membered rings to be aromatic)
Better handles fulvene by picking non-ring bonds if they're v. short.
(i.e., only in cases of similar lenghts is a ring bond prefered to exo)
Added explicit typing for pyridine N oxides to assign formal charges.
When bond typing do not prefer double bonds to ring-based sulfur atoms.
Only build EQEQ plugin for static builds if Eigen 3 is present.
Change "LIG" to UNL (unknown ligand).

Updated to match PDB documentation..
http://www.wwpdb.org/documentation/format32/sect4.html

Hat tip to Roger Sayle.
Be careful with P aromaticity. Add explicit rule for PR#898.

TODO: revisit aromaticity calculation for P atoms.
Add minor refinements to ConnectTheDots for bond detection.

As suggested by Roger Sayle, add "fail quickly" as we check the cutoff.
If x^2 or x^2+y^2 is beyond the cutoff, then the full distance is too.
Fix PR#897. Aromatic nH is OK in 5-membered rings.

6-membered pyridinium nH -> nH+, but 5-membered rings are OK.
Fix minimum distance cutoff for ConnectTheDots as in PR#887.
Fix residue test to allow "UNL" as unknown ligand.
Remove GetNextFormat() from SWIG bindings to fix compile error.

Method is deprecated in C++.
Fix pybel test failure by renaming expected output to UNL from LIG