Added IArmor so armor doesn't have to extend ItemArmor

Added IArmor so armor doesn't have to extend ItemArmor only implement IArmor.
Useful for mods that don't use EnumArmorMaterial but custom armor.

The patches are in classes that already had patches and only 1 new class.