Add conditions to discount codes

* Allow a code to "expire"
* Allow a limited number of uses for a code