Uploading architecture fix.

For review: @kvs 

Reprepro was refusing to upload noeqd for lucid amd64 because we already had a version for lucid i386.  This fixes that.

Also, the package uploading recipes seemed to all assume that distribution would be a single distro rather than a list of distros, so what the hell, I adjusted the type validation for that, too.

Dunno what shape we need to get this in if we want to contibute it back upstream, but this works locally for us, so.

I've already applied this to cookbooks master, so this is a retroactive review.  Unless we wanted to bump the version (which is tricky, especially since chef doesn't allow a fourth version decimal), I couldn't really keep a branched version.  Even as it stands, this may cause upload failures for any older topic branches until they merge master. :neutral_face:

We should probably work out a versioning strategy for local modifications to upstream gems.  I'm thinking in this case we could've gone "0.3.1001" as our first local modification to 0.3.1.

Also, be forewarned: When I started to do a pull request, it defaulted to asking to merge into opscode's upstream repo, and I almost didn't notice. :unamused: