ERC-1155 Token Standards, Extensions and utils

This set of interfaces and contracts are all related to the ERC-1155 Multi Token Standard.

The ERC consists of three interfaces which fulfill different roles:

{IERC1155} is the mandatory interface

{IERC1155MetadataURI} is the optional extension.

{IERC1155Receiver} that must be implemented by smart contracts in order to receive ERC-1155 token transfers

Additionally there are multiple custom extensions, including:

({ERC1155Pausable}) for designation of addresses that can pause token transfers for all users.

({ERC1155Burnable}) for destruction of own tokens.

{{ERC1155Supply}} that adds tracking of total supply per id.

{{ERC1155URIStorage}}

{{ERC1155Holder}} that will allow a contract to hold ERC-1155 tokens.