Add DataRowReader and change Connection.SelectFunc to use it

Preparatory step for structure binding. refs #11