Punishment by Agreement - A Contract-Based Argument for the Moral Permissibility of Punishment