Fetches the package list from CPAN. Finds the current version of the given package. 
Downloads the relevant tarball; unpacks the tarball. 
Clean out the old directory (git clean -dfx)
Moves the old directory out of the way, moves the new directory in place.
Restores any .gitignore file.
Removes files from @IGNORE and EXCLUDED
git add any new files.
git rm any files that are gone.
Remove the +x bit on files in t/
Remove the +x bit on files that don't have it enabled in the current dir
Restore files mentioned in CUSTOMIZED
Adds new files to MANIFEST
Runs a make (assumes a configure has been run)
Runs tests for the package
Runs the porting tests
 If the --tarball option is given, then CPAN is not consulted. --tarball should be the path to the tarball; the version is extracted from the filename -- but can be overwritten by the --version option.
This is an initial version; no attempt has been made yet to make this portable. It shells out instead of trying to find a Perl solution. In particular, it assumes wget, git, tar, chmod, perl, make, and rm to be available.