Return undef, not 0 or "", on failure/EOF for next_* methods called from READLINE

Otherwise the canonical example (that appears in docs, too):

    while (<$input>)

will loop forever on failure or at EOF since it checks defined-ness.

The next commit will add guards to all READLINE methods, but it is worth
using consistent undef return values even for direct callers of next_*.
Most of the *IO classes already do this, but the classes touched here
appear to have slipped through the cracks.

Note that I also audited for cases where empty objects were returned on
failure, since that leads to infinite looping too.
Only return true values and undef from READLINE in scalar context

The common readline idiom

    while (<$in>)

checks defined-ness and doesn't work as expected when defined-but-false
values such as 0 or the empty string are returned.  Since these are tied
objects mocking filehandles which deal in records not strings, returning
0 or "" is never expected or desired.

This is a guard against bugs such as those in 5451e4d.
Optimized speed of spliced_seq for local

Avoid calling $called_seq->seq() for each exon individually if they are
from the same (locally held) sequence.

13X faster for processing human chromosome 3. But handles remote
sequences or Bio::Das::SegmentI sequences same as before.
SeqFeatureI.pm: Splitted some very long lines and added a missing
K->M (keto->amino) transliteration in spliced_seq
SeqFeatureI.pm: Cleaned tabs, format and trailing whitespaces