Add ut-external_queue named test.
In file::stream::attach, seek(0) to ensure that offset() == 0.

Previously, m_nextBlockIndex and m_index were left at MAXINT, meaning
offset() would return MAXINT right after attach().
Fix queue writing wrong offset to user data on close.

Somehow, this bug has gone unnoticed in the two years since work on
pipelining began.
In queue, attach streams only after opening the file.
Merge branch 'queue'. Fixes #94.