Add default argument frames=-1 to read()

By default, this reads until the end of the file.
Use named constants instead of magic numbers

... for the parameter 'whence' in sf_seek().
Refactor the sequence interface

Refactoring:

* factor-out duplicate code to separate method _get_slice_bounds()
* replace 4 if-clauses with one call to slice.indices()
  * issue #6 is still not solved because __len__() is still broken (#11)

Change behavior to be more sane:

* raise error if step != 1
  * this was silently ignored before

Change behavior to be closer to Python indexing:

* if start > stop (assuming step==1), an empty array is returned
  * before, the two values were flipped
* if negative values exceed length, they are set to maximum
  * something strange happened before ...
Remove superfluous whitespace from README file
Merge pull request #5 from mgeier/readme

Remove superfluous whitespace from README file
Merge pull request #8 from mgeier/read-default

Add default argument frames=-1 to read()
Merge pull request #9 from mgeier/seek-whence

Use named constants instead of magic numbers
Merge pull request #12 from mgeier/sequence-interface

Refactor the sequence interface