Functional test, a couple of unit tests, some code
Add resources, setup.py, more tests
Start work on segment class.

There's a problem with the current approach. If large segment X is
subtracted from segments A, B, C located after each other inside it,
then all three will start at X.start afterwards. How can they decide
what their new start point will be?

And also, in the operation A.__add__(B), under what circumstances does
the return value contain a copy of B?
Moved some responsibility to FakeLargeFile, tbd.

In the reworked scheme, the segments do not move themselves,
that is left to FakeLargeFile.
Make segment instances immutable
Add LiteralSegment-specific test
Factor out __getitem__ cases as abstractmethods
Add HomogenousSegment
Add RepeatingSegment
Rework functional tests according to new vision
Refactor to let segments accept string size args
Import segment classes to pacage namespace
Another adjustment of how things should work.
Add parse_slice method to AbstractSegment
Add methods for what affects what
Rearrange order of methods
Add index method to segment types
Ouch. Forgot to commit regularly.

Lots of changes, now all tests except functional test pass.
Starting to use coverage. Next commit: more tests
Add tests and fixes to achieve 100% test coverage