This commit fixes two major installation issues: 1. Perl 5.10.0 has CPANPLUS::Dist::Build that does not execute Build.PL in a separate process. This makes bootstrapping modules from inc/ and then getting CPANPLUS to install dependencies impossible. Build.PL now dies with an error if CPANPLUS::Dist::Build older than 0.08 is detected. 2. The compatibility Makefile did not include the same bootstrapping code as Build.PL. Generally, any Perl from 5.10.1 on that respects configure_requires will have no problem. This patch is a stopgap to help older Perls.
Because certain bootstrap prereqs are satisfied out of inc/, Module::Build will not report them as missing. This confuses users who are manually building Module::Build and lack these prerequisites. This commit ensures that Build.PL warns the user when they also need to install prerequisites that were bootstrapped in inc/
We now rely on external dependency Module::Metadata (which is an extracted copy of Module::Build::Version). In order to bootstrap, we list that and version.pm as configure_require dependencies and provide bootstrap copies in inc/. M::B::ModuleInfo and M::B::Version are deprecated and now exist just as simple subclass wrappers for compatibility.