Joel - pushing code before vacation

DO NOT MERGE!

This code is very bad.  It's broken and incomplete.  I'm just sending it here in case you wanted to take a look.

My current intention is to get the interface right but not do anything intelligent with multiple files.  It just takes the first file and uses variants from it, returning vectors of size 1.

Similarly, fetch_next_record() has no logic to handle anything besides a single-element "queue".

The test was copied from elsewhere, and running it causes a memory violation which I have not tracked down.