use only completed promotion usages when checking usage limit

It should only count completed orders against the usage_limit.  Counting incomplete orders as using a coupon doesn't make sense.  We could also probably take the promotable argument off of the usage_limit_exceeded? method signature but I wasn't sure that was a good idea.
I agree, but that would involve loading the order in the before filter and I thought that updating that was beyond the scope of this change.  I also noticed that there is probably a double render bug in the way that insufficient stock is handled inside the load_order method  I'll file a separate issue for that.