better looping for #charge_for_options

Pricing model changes (Task #73569)
extract #ensure_reservation_window from callback

Pricing model changes (Task #73569)
i18n the usage_subsidy error

Pricing model changes (Task #73569)
store usage_rate and usage_subsidy as per minute

Pricing model changes (Task #73569)
introduce and use #strip_seconds

Pricing model changes (Task #73569)
clear up comparison in #cancellation_penalty?

Pricing model changes (Task #73569)
rowspans no longer needed

Pricing model changes (Task #73569)
change charge_for column type to String

Pricing model changes (Task #73569)