find: modul for search algorithms
find.py: set start level correctly
section.py: find methods for sections
file.py: find method for sections
block.py, source.py: find mehtod for sources
find: some small bugs fixed
find.py: simplify and remove unnecessary code
find: unit tests for find methods
Merge pull request #37 from stoewer/find-sources

Find functions and methods for sources and sections
DataSet: replace ValueError with IndexError for invalid indices
DataSet: Add support for sliced indexing (reading data)
[test] Add new tests for DataSet's new sliced indexed reading
DataSet: extract index -> tuple logic into __index_to_tuple

We will reuse this then for __setitem__
DataSet.__index_to_tuple: integrate Ellipsis condition
DataSet: Add support for indexed writing of data
[test] DataSet: add tests for indexed writing of data

Don't need to test too much because most of the index -> count,
offset testing is done in the read test cases.
DataSet: Add __len__ and len() that behave like numpy
[test] Test for DataSet's __len__ method
DataSet: Add size property with the semantics like numpy
[test] DataSet: add test for size property