use cpanmetadb instead of cpanidx

CPANIDX has been down for a while.  cpanmetadb is what cpanm uses, so is
more likely to stay up or get fixed quickly.  (I considered MetaCPAN but
they require SSL.)

This also swaps to HTTP::Tiny and YAML::Tiny instead of LWP and JSON,
which should make @ether happy, fixing #7 and #10.