This allows the total discount of an offer to be capped. It's a
slightly odd mechanism as the offer only becomes inactive once the cap
is exceeded, and it's possible that it is exceeded by a lot.
However, it's still a useful construct for managing offers.
Required several schema changes:
* Add num_applications to offer model to track number of times an offer
has been applied within an order.
* Add max_global_applications to offer model to set a limit on how many times an offer
can be used.
* Add frequency to order discount to provide insight into how many times
an offer was applied for a particular order.
Structure of dashboard changes to talk about offer 'availability'
instead of assuming a start- and end-date.