Marketplace.setPrincipal do not approve needed allowance for Element vault and APWine router
`Marketplace.setPrincipal` do not approve needed allowance for `Element vault` and `APWine router`\\n`Marketplace.setPrincipal` is used to provide principal token for the base token and maturity when it was not set yet. To set PT you also provide protocol that this token belongs to.\\nIn case of `APWine` protocol there is special block of code to handle all needed allowance. But it is not enough.\\n```\\n        } else if (p == uint8(Principals.Apwine)) {\\n            address futureVault = IAPWineToken(a).futureVault();\\n            address interestBearingToken = IAPWineFutureVault(futureVault)\\n                .getIBTAddress();\\n            IRedeemer(redeemer).approve(interestBearingToken);\\n        } else if (p == uint8(Principals.Notional)) {\\n```\\n\\nBut in `setPrincipal` we don't have such params and allowance is not set. So `Lender` will not be able to work with that tokens correctly.
Add 2 more params as in `createMarket` and call `ILender(lender).approve(u, e, a, address(0));`
Lender will not provide needed allowance and protocol integration will fail.
```\\n        } else if (p == uint8(Principals.Apwine)) {\\n            address futureVault = IAPWineToken(a).futureVault();\\n            address interestBearingToken = IAPWineFutureVault(futureVault)\\n                .getIBTAddress();\\n            IRedeemer(redeemer).approve(interestBearingToken);\\n        } else if (p == uint8(Principals.Notional)) {\\n```\\n