Extended DurationInequality and LengthInequality to work with infinite values.

This commit does several things:

1. Extends DurationInequality and LengthInequality to work with infinite values
(both positive and negative).

2. Makes DurationInequality and LengthInequality empty-initializable. This
means that both classes now implement keyword input parameters only. This also
means that all parameterized tests now pass. (Several parameterized tests were
failing previously.)

3. Reverts DurationInequality and LegnthInequality storage format back to
default. This works better now that both classes implement keyword input
paramters only.

NOTE: note the presence of these two classes:

    * timespantools.SimpleInequality
    * timespantools.CompoundInequality

SimpleInequality is timespan-specific (and so probably not of any value to
DurationInequality and LengthInequality).

But CompoundInequality is a general object oriented way of bundling together an
arbitrary number of (simple) inequalities together with the basic & | ^ logical
operators. So CompoundInequality is probabaly of use when combined with
DurationInequality and LengthInequality.

That is, the final generalization of duration and length inequalities in
selectortools is probabaly to be had by integrating CompoundInequality into
the selectortools classes. Then we can say things like ...

    1/4 < duration and duration < 3/4

... and so on.