another try to fix issue#132
Fix zip files to find the root more correclty

If the root doesn't happen to be the first entry in the zip file this fails to pick the correct root.  Instead we just find all folders with no subfolders and pick the first one.
Check version requirement using CPAN::Meta::Requirements to support version range
upgrade fatlib - added CPAN::Meta::Requirements and removed unused ones
fix tests
Merge branch 'version-range' into devel
fix messaging on unsatisfied
Checking in changes prior to tagging of version 1.59_01.

Changelog diff is:

diff --git a/Changes b/Changes
index dd8e565..b2ba325 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,14 @@
 See http://github.com/miyagawa/cpanminus/ for the latest development.

+1.59_01 Thu Jan 31 09:54:50 PST 2013
+   [New Features]
+      - Added a proper support for version range in MYMETA files using CPAN::Meta::Requirements
+      - Skip installing modules when found versions from CPAN doesn't satisfy the requirement, rather
+        than proceeding as if it is ok. For instnacde, if a ditribution X requires Y >= 1.1 and Y on
+        CPAN (or your CPAN mirror) has 1.0, cpanm will just complain and stop installing it.
+      - Better cpanfile end-to-end support
+      - Upgraded fatpacked modules to the latest
+
 1.5021 Thu Jan 31 00:42:28 PST 2013
    [Improvements]
       - Added new --verify option that enables verifying CHECKSUM and SIGNATURE for distributions
Experimental support for Module@VERSION exact syntax, as well as Module~VERSION_RANGE

  e.g. cpanm DBI~">= 1.0, < 2.0"  cpanm Plack@1.222
fix tests to use mirror-index
exact version should fail with mirror-only when there's later version is available
Enable metacpan releases search, when exact version (Module@VERSION) is specified.

Thanks to @koterpillar for the original pull request at #190
Checking in changes prior to tagging of version 1.59_02.

Changelog diff is:

diff --git a/Changes b/Changes
index b2ba325..081828b 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,12 @@
 See http://github.com/miyagawa/cpanminus/ for the latest development.

+1.59_02 Thu Jan 31 19:09:43 PST 2013
+   [New Features]
+      - Added experimental @ shortcut to mean exact version e.g. cpanm DBI@1.20
+      - Support version range with "~", such as cpanm DBI~">= 1.0, < 2.0"
+      - Enable metacpan release search when exact version is given (and when mirror-only is not specified)
+        i.e. cpanm DBI@1.100 will fetch the exact release based on metacpan
+
 1.59_01 Thu Jan 31 09:54:50 PST 2013
    [New Features]
       - Added a proper support for version range in MYMETA files using CPAN::Meta::Requirements
Merge branch 'master' into devel
Merge remote-tracking branch 'pull/172/head' into devel
Cleanup home detection.
Check if a given directory is absolute using File::Spec for Win32. per #180
Preserve drive letter on win32 when copying files with file:// URL. #180
Checking in changes prior to tagging of version 1.59_03.

Changelog diff is:

diff --git a/Changes b/Changes
index 081828b..d6f7dfe 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,11 @@
 See http://github.com/miyagawa/cpanminus/ for the latest development.

+1.59_03 Fri Feb  1 10:42:57 PST 2013
+   [Improvements]
+      - Fix issues working with file:// URLs with drive letters on Win32 (A.J. Lucas) #180
+      - Fix home directory detection without HOME env on win32 (kmx, Christian Walde) #132
+      - Allow comment fields in 02packages file (Jeffrey Thalhammer) #187
+
 1.59_02 Thu Jan 31 19:09:43 PST 2013
    [New Features]
       - Added experimental @ shortcut to mean exact version e.g. cpanm DBI@1.20
Checking in changes prior to tagging of version 1.59_03.

Changelog diff is: