added try/finally block to close files correctly after GitClient.fetch_patch, closes #104