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.
This is a very notable change to the public interface of this class. We must be careful with these changes because other extensions have expectations of the public interface. I don't think we should change this interface unless the PR was targeted against a new version of spree.