Package.extract_file can extract the whole package

Extract_file now takes an optional extract path which defaults to a
temp directory, and omitting the relative path extracts the whole
package.