Provides information about a source of data.
An example usage would be reading a text file where
sourceDescription() would say the name of the file,
lineNumber() the line number and
position() the byte position the reader is currently at.
Another example could be reading from a relationship db table where
sourceDescription() would
say the name of the database and table, or similar,
lineNumber() the ordinal of the row we're
currently at and
position() some sort of absolute position saying how many bytes we've read from the
data source.