Pass string (not object) to Parse::CPAN::Packages::Fast

latest version uses different modules and dies upon finding an object.
Put ES info in test diagnostics
Remove "TODO" from release->first check

Module::Faker now supports setting mtimes on generated dists.
Enable coveralls.io via travis
Check defined-ness to avoid warning
Prefer ok(0) to errors in tests
Show better diag for autocomplete test failure
Return if code is unexpected to avoid errors
Omit the Module::Faker generated META files for most dists

Previous versions of Module::Faker generated no META.json
and a lacking META.yml.  This was good as it enabled us to test our
indexer.  Module::Faker 0.015 now generates fairly complete
META files, so our indexer trusts the META and doesn't do much parsing.
So we omit these files here so that we can upgrade to the newer
Module::Faker and still have our tests pass.
Specify provides to work with/around cpan/module faker

see comments inline.
Require the latest Module::Faker and CPAN::Faker
Explicitly take specific attributes from meta object

The CPAN::Meta object has a 'provides' hash,
but the Release Document has a 'provides' array.
ES 0.20.2 doesn't care, but ES 0.20.6+ spews errors.
I noticed this when Module::Faker upgraded
and started generating META files with 'provides' hashes.
Sort autocomplete secondarily on documentation

Older ES seemed to sort them alphabetically
however 0.90.5 doesn't seem to.
Sorting explicitly on documentation as a tie breaker
is more reliable for testing and should probably provide
more clear results.
Change pod urls to match new web urls
Test how we handle meta 'provides'

Ensure that we *are* using it and how.
With the Module::Faker upgrade that added 'provides'
and caused a newer ES to throw errors
I realized that we weren't testing it.
Ignore coverage database