Move UploadToCPAN after @Git stuff so git hooks run before its uploaded.

dzil does stuff in order, so because @Git is after UploadToCPAN it is run after,
but I want it done before, so that if there is a problem with the git stuff a
new version will *not* be uploaded to cpan.
Fix github#4 by using a more reliable way of parsing checksum files.

Checksum files previously were very poorly parsed. They really only parsed
output from the md5sum or sha1sum programs redirected to files. Anything
else, even if parsing it would be equally easy, was not even attempted to
parse properly. The freetds distro's md5sum files are not just output from
the md5sum program, so I created a more reliable parser. It should be able
to parse pretty much anything with a md5sum or sh1sum somewhere in it.
Fixed bug related to githug#4 causing ftp timestamps to be parsed as undef.

This was caused by the first 2 entries being symbolic links instead of regular
old files. Previously, the month, day, and year_ortime fields were parsed using
negative, "backwards," array indexes. This was broken by the symbolic links,
because they added two extra fields to them, which broke the negaive array
indexes.

So, I just switched to positive array indexes, which can handle symbolic links
adding two extra fields, which fixed this bug.
Fixed the "uninitialized variable" bug if no args are given to bin/fetchware.

This was previously fixed in d52e89e, but that fix fixed it stupidly. A clearer
less stupid fix for that same problem is in this commit.
Previous fix for "uninitialized variables" didn't work. This one does.

The previous fix didn't work. And I bizarrely didn't even test it.

After testing it, it didn't work. So, now I've come up with better code that
actually does what it needs to do without being insane like the previous fix
was.
Fixed previous fix for "Uninitialized variables" yet again.

?: is tricky regarding assignments. I was using assignments, and perl failed to
warn me about them. Ironically, when I fixed the first one, it triggered a
warning regarding the second one.

Who cares, this is finally fixed without using really stupid code like I did
before.