INCOMPATIBLE bindings change: modernize Dataiterator/Datamatch classes

Use attributes instead of methods to access the matched data (except
for Datapos constructors). Also, while we're breaking the API, drop
the solvid argument from the Dataiterator constructors. Add different
constructors for the special cases.

Also fix and document Datamatcher's 'binary' attribute.