Correctly fix trailing / on SVN URL.

Also makes the repos realtive the the current user's home directory. This allows testing under another user.
Recover from partially added mirrors.

If it looks like there is already an attempt at a mirror that didn't complete then attempt to continue.
Don't update the list of mirrors.

As we have all the repositories on github now we don't need to maintain a list locally.
Push synced repositoties to github.com

Now we aren't keeping repositories locally we push them all to github. This means we need an API key to create new repositories when they appear.
Merge remote-tracking branch 'github/master'