Properly Use Stripe's cancel_at_period_end Field

Added a `cancel_at_period_end` field to CurrentSubscription and updated the `is_valid` method to properly check the status, cancel_at_period_end, and current_period_end flags.