file() convenience for creating File
close #64 (coverage reports) and work toward #11 (cross builds)