Reworks buttoning for coats and adds new exterior suit items from BS12's dev branch

Coats that can be buttoned are now a subtype of /obj/item/clothing/suit/storage/toggle, which contains the verb for buttoning. Icon states are stored in variables in the item itself. No more giant switch for labcoats, hardcoding, and duplicated code all over.

Also, new items, including leather jackets and a hoodie.