Add option to specify alternate CPAN MetaDB endpoint

This experimental option allows using a custom CPAN MetaDB, such
as for a DarkPAN server.
Test cases for masking passwords in output & build logs.

There is a test case for each backend: LWP, wget, curl.
Add function to mask passwords.

I chose to use "*password*" as the mask because that is what
wget uses (or curl, I forget which).

When using wget or curl for the backend, they will emit their
own stuff to STDIN or STDOUT.  We can't easily sanitize that,
but I trust that they will not leak the password either.
Mask URIs on output methods

When we are printing a URI, the original method call is now wrapped
with a masking function so we don't put URI passwords into the log
or screen output.
mention App::cpanminus::reporter in the pod
Fix #286

- Disable dependency installation checks if run with --scandeps
skip leading/trailing spaces for PERL_CPANM_OPT. Fix #288
Merge pull request #281 from dagolden/topic/mask-uri-passwords

Mask URI passwords in output (alternate approach)
Merge pull request #287 from tazle/fix-286

Fix #286
Merge pull request #279 from dagolden/topic/alternate-index

Add option to specify alternate CPAN MetaDB endpoint
Merge pull request #284 from garu/patch-2

mention App::cpanminus::reporter in the pod
1.6925