~~~~~~~~~~~~~~~~~~~
- Fixed the case where two consecutive ``Subscription.objects.ensure()``
calls would lead to the subscription being restarted and a second
period being added right away. Also, fix a bunch of other edge cases
in ``ensure()`` and add a few additional tests while at it.
- Made it impossible to inadvertently delete subscription periods by
cascading deletions when removing line items.
- Changed the subscription admin to only show the period inline when
updating a subscription.
- Added ``Payment.undo()`` to undo payments which have already been
marked as paid.
- Fixed an edge case where setting ``Subscription.paid_until`` would
produce incorrect results when no period was paid for yet.