Function: initialize()
Initializes the contract.
Branches and code coverage (including function calls)
Intended branches
Properly initializes the contract and gives the sender the admin role.
Negative behavior
Reverts if the contract is already initialized.