ensure query exists
rename to FileBackend
accept relative directory paths
create base directory when opening
create filenames outside of closure. fixes #1
add missing .close() function (noop)