added reader

This is a first pass on a reader API. I've added a section to the README.

I've tried to disturb the existing code as little as possible. There is some overlap between `Connection::Execute` and `Reader::NextRows` so the code could be refactored a bit.

I have added a unit test and also tested with our application. It seems to work but here may be memory leaks. I'm going to stress it more in the coming days.

I've also added a few lines of code to map `RAW` and `ROWID` types. This is only temporary (`RAW` should probably be mapped to `Buffer` rather than `string`) but it helped me test with our app.

Note: this is a reader rather than a cursor because there is no API to act on a _current_ record. The records are read with a window, which optimizes for cases where we scan large results sets from beginning to end.