Replace Weapon.gainDurability() and loseDurability() with a durability setter

Also add a test for Bloodsail Corsair