Refactor MakeMaker.pm plus test

Mainly breaking MM->new up from being nearly 400 lines, to 40ish. Also implement a test for RT 91540 fix. Done as part of effort to implement extensions but turns out best way forward on that is orthogonal.