Replace Freezable behavior with FreezableTrait

See https://github.com/clippings/freezable

This would be a breaking change, because of the changes in the schema (new `is_frozen` columns in `store_purchases` and `purchase_items`).