Created get_matching function on OrderDiscount to get a list of matching discounts for a given order. This list can then be culled further to get the best possible discount.
Tests & tidy up.