Use instance variable for Tempfile to avoid it being deleted by ruby GC

When Tempfile objects are cleaned by the Ruby garbage collector, it will delete the file as well as the object. Since "file" was a local variable in the File installer, it was possible that the file was deleted by GC before the installer was actually run.

By changing the local variable to be an instance variable we avoid this problem.
Merge pull request #139 from tlj/master

Fix a problem where Tempfiles are removed by Ruby GC before they are used