corrected bug in features positions after delete

fixed a bug:
_coord_adjust_deletion: test for features overlapping only one end of
the deletion site had incorrect use of Bio::RangeI::contains, which led
to incorrect adjustment of positions ifor features that start at the
start of the deletion site and extend beyond the deletion's end point.
Added a new test case for this situation.
throw exception on negative positions

changed _coord_adjust to check for negative positions, which now lead to
an exception. Previous behaviour was to allow such coordinates but the
resulting adjustments were incorrect because they were treated as
positive numbers
Test that long label qualifiers can be parsed in genbank format.
Quote qualifiers that are so long that they are line wrapped in genbank format.
PrimarySeq::length() speedup

Avoid calculating length again when length is already recorded
Fix for bug #3389

Fixed regression: -makeid coderef can now return a scalar or array
Added documentation and unit tests
Added tests for Bio::PrimarySeq::length()
More tests for Bio::PrimarySeq::length()
POD updated and beautification
More tests for Bio::PrimarySeq::length()
Bio::PrimarySeq::length() optimizations

Calls to length() were quite slow for long sequences, e.g. multi MB genomes. This is because length() calls seq() which passes the returns the entire multiMB sequence. A solution to this was:
1/ calculate the sequence length at the same place where the sequence is set, i.e. in seq(), to not have to pass the entire genome bach and forth between functions
2/ store the sequence length once computed to avoid having to recalculate it

This results in much speedier calls to length()
Consistent indentation
SeqFastaSpeedFactory fix

Since last improvements in Bio::PrimarySeq, SeqFastaSpeedFactory should store length of sequence to produce working Bio::PrimarySeq objects
Consistent indentation
Cosmetic changes
Fixes issue in EncodedSeq

EncodedSeq needs to use seq() methods of PrimarySeq objects and not
poke into object directly to avoid reporting wrong sequence length.
More tests for PrimarySeq
Doc fixes
Small POD and tests updates
From Paul Cantalupo (IRC: virushunter). Fixes bug #3298, adds 3 tests.