Add new_repo and new_dist to make Repo and Dist objects for testing.

These make sure the repositories don't clash and that they're deleted
at the end of the test.
new_repo() and new_dist() test functions to create Repo and Dist objs for testing

These make sure the repository or distribution in question doesn't clash
with an existing one (via a random name), that the Github repository has
been deleted (and wait until the API catches up), and to clean it up
when the test is over.

Some do not use this because we want the test repositories to stick around
for examination.

Also...
* Add Repo->releases which does not create a Git repository just to check
  there are no releases
Change Gitpan::Dist to take a distname like everything else.

Normally I'd consider the prefix to be redundant, but this makes
things convenient to have Gitpan::Dist act like everything else
in this regard.