`reduce_position` doesn't update margin mapping correctly
`reduce_position` function decrease the margin amount of the position but doesn't add it back to the user's margin mapping, making it impossible to withdraw the margin.\\nAfter selling some position tokens back against debt tokens using `reduce_position` function, `debt_shares` and `margin_amount` are reduced proportionally to keep leverage the same as before:\\nVault.vy#L313-L330\\n```\\ndebt_amount: uint256 = self._debt(_position_uid)\\n    margin_debt_ratio: uint256 = position.margin_amount * PRECISION / debt_amount\\n\\n\\n    amount_out_received: uint256 = self._swap(\\n        position.position_token, position.debt_token, _reduce_by_amount, min_amount_out\\n    )\\n\\n\\n    # reduce margin and debt, keep leverage as before\\n    reduce_margin_by_amount: uint256 = (\\n        amount_out_received * margin_debt_ratio / PRECISION\\n    )\\n    reduce_debt_by_amount: uint256 = amount_out_received - reduce_margin_by_amount\\n\\n\\n    position.margin_amount -= reduce_margin_by_amount\\n\\n\\n    burnt_debt_shares: uint256 = self._repay(position.debt_token, reduce_debt_by_amount)\\n    position.debt_shares -= burnt_debt_shares\\n    position.position_amount -= _reduce_by_amount\\n```\\n\\nHowever, even though some of the margin have been paid back (position.margin_amount has been reduced), `self.margin[position.account][position.debt_token]` mapping hasn't been updated by adding `reduce_margin_by_amount` which would allow the user to withdraw his margin.
Consider modifying the code like this:\\n```\\n    reduce_debt_by_amount: uint256 = amount_out_received - reduce_margin_by_amount\\n\\n\\n    position.margin_amount -= reduce_margin_by_amount\\n+   self.margin[position.account][position.debt_token] += reduce_margin_by_amount\\n\\n    burnt_debt_shares: uint256 = self._repay(position.debt_token, reduce_debt_by_amount)\\n    position.debt_shares -= burnt_debt_shares\\n    position.position_amount -= _reduce_by_amount\\n```\\n
Users will lose their margin tokens.
```\\ndebt_amount: uint256 = self._debt(_position_uid)\\n    margin_debt_ratio: uint256 = position.margin_amount * PRECISION / debt_amount\\n\\n\\n    amount_out_received: uint256 = self._swap(\\n        position.position_token, position.debt_token, _reduce_by_amount, min_amount_out\\n    )\\n\\n\\n    # reduce margin and debt, keep leverage as before\\n    reduce_margin_by_amount: uint256 = (\\n        amount_out_received * margin_debt_ratio / PRECISION\\n    )\\n    reduce_debt_by_amount: uint256 = amount_out_received - reduce_margin_by_amount\\n\\n\\n    position.margin_amount -= reduce_margin_by_amount\\n\\n\\n    burnt_debt_shares: uint256 = self._repay(position.debt_token, reduce_debt_by_amount)\\n    position.debt_shares -= burnt_debt_shares\\n    position.position_amount -= _reduce_by_amount\\n```\\n