Weapons galore

* Finish medium weapons
* Did weapon types (seem to be failing)
* Refactored attribute and percentile tests again, use a constructor to
minimize running code more than necessary.
* Remove the no tests twice test, make the collection of tested items a
hashset, and check within the individual tests for duplication (that
way, the duplicate tests will fail, and the originals and
non-duplicative will not)