Modifying CE-CP to duplicate the shorter structure.

This reduces the chance for a large insertion at the duplication
boundary, which could incur a gap penalty large enough to block CP
detection.
Fixing compile problem.

Can be reverted  after merging into BioJava 4.0.0 branch,
where the exception has been removed.
Fixing superposition bug in CeCPMain.invertAlignment
Adding CECPParameters class

Stores parameters for CeCPMain:
- __DuplicationHint__ controls which protein gets duplicated
- __minCPLength__ controls minimum block length

Tests run with DUPLICATE_RIGHT to simulate existing behavior,
but the default is DUPLICATE_SHORTER for performance and
(hopefully) quality.
Adding Enums to ParameterGUI
Added nice names to DuplicationHints

The toString method is displayed now, while the name() method
identifies the enum internally.
Fix infinite recursion with DUPLICATE_LEFT

Also improves JavaDocs
Match '_' or null to any chain when parsing XML.

This allows AlignmentTools.createAFPChain to work with
implied chains, where the chain comes from the structure
rather than the alignment specification.
Adding black/white gradient to dotplot panels.
Simplifying dotplot graphics

Removing horizontal/vertical lines from gap regions,
which makes them easier to see & better matches standard
publication figures.
Remove unused parameter from CECalculator.calc_rmsd
Properly calculate TM-Score in CE-CP
Incrementing CE-CP version
Renaming DuplicationHints to be shorter
Improve StructureAlignmentCLI help formatting
Adding runCECP.sh script to protein comparison tool