CompoundLocation half done, created as well as sub_features

This modifies the GenBank/EMBL parser and BioSQL loader to create
the CompoundLocation as part of creating the SeqFeature.

NOTE: Need to examine how the location operator (join, order, etc)
should be stored in BioSQL, and what order is used for the location
parts in BioSQL (by the BioPerl loader at least).
Feature location addition (cherry-picked from another branch)
Use CompoundFeatureLocation in GenBank/EMBL output
Label sub_features as obsolete (warnings not very prominent through)
TODO - check how BioPerl stores compound locations in BioSQL
Delagate SeqFeature iter & contains to (compound)location (not using sub_features)
More prominent sub_feature deprecation warnings
Tweaks to GenBank/EMBL code to avoid deprecation warnings
Avoid sub_feature deprecation warnings in tests
Use compound locations not sub_features in BioSQL loader
Tweaks to avoid sub_feature deprecation warnings in BioSQL
Tweaks to test_BioSQL.py to avoid sub_feature deprecation warnings
Use compound locations in GenomeDiagram, not sub_features
Add a parts property to FeatureLocation for ease of use
doctest for CompoundFeature's strand property
More tests; cope with UnknownPosition in no-fuzzy start/end
Expand FeatureLocation docstring with doctests
Work in progress - addition to shift locations.

Still must implement subtraction (can already add a negative offset).

Must also decide if adding a fuzzy position (instead of a plain offset)
should be allowed - and if so what should it do? Means defining things
like addition of a BeforePosition and an AfterPosition. Messy.
Check feature location start/end vs min/max
Fix silly typo in doctest