Better packaging

I rebased the branch, updated the packaging for the new protocol file, and squashed the commits under your name (it was getting pretty messy). Instead of opening a new pull request against s2protocol I figure we should just maintain your current pull request.

Even if Blizzard doesn't merge the pull requests it is useful to have an updated pull request for community use.