Completely revamped core module dependency handling.

We now create empty packages for core modules to simplify
dependency handling down the line, and do some version checks to see
if we need to create packages for newer versions of core modules
required by other modules.

The basic idea now is that each core module recipe is only good for
a particular version of Perl. Whenever a new version of Perl comes out,
we're going to need to update the recipes for this new version. I guess,
really this should be handling using environment variables and build
strings like CONDA_PY does, but I haven't had a chance to do this yet.
Make generate CPAN recipes for core modules actually empty (as in they don't download sources at all).
Make sure URLs are commented out in recipes when cpanm isn't going to be called.
Fix another corner case with building recipes for core modules
Add support for versioned packages as arguments (as in 'PACKAGE=VERSION') to cpan skeleton. Also fix a bunch of bugs related to existing recipe detection.
Make dependency handling for core modules more efficient in cpan skeleton.
Make Perl testing more like Python testing.

Supports run_test.pl, and uses test/import section of meta.yaml
to list out import tests for Perl.
Add some rudimentary filtering when generating CPAN package import tests to prevent false negatives.
Fix crash when 'provides' is not given in MetaCPAN metadata
Test dependencies when they are built automatically in build.py
Improve handling of versioned recipes.

Build now properly finds versioned recipse when doing its
recursive building, and the CPAN skeleton's checks for
versioned recipes work are more reliable now.
Bring in latest changes from master (for Python 3 compatibility)
Fix io.open compatibility in create_pl_files
Get rid of u prefix from import messages in create_pl_files
Use 5.18.2 as default Perl version if no perl package in channels.

Also fix rare issue where MetaCPAN `archive` field for package
includes a directory. Now we call `basename`.
Add version successfully imported message to create_pl_files to aid in debugging.
Remove reliance on cpanm and use build strings for core modules.
Make build.sh/bld.bat complain if Build.PL and Makefile.PL are missing.
Change order of checks to use Build.PL before Makefile.PL, since some may have both.
Check that VERSION is set for a package before trying to print it in create_pl_files