Add a ton of comments, clean up a bunch.

Added comments to almost everything, made more of the weapon details
configurable from the defines at the top of the file, and fixed up a few
little things that no longer needed to be where they were.