pub fn create_file<P>(path: P) -> Result<File, FileError>where P: AsRef<Path>,
Note: creates all intermediary directories if needed.