[#82259176] Past variant lookup improvements, capture_via_cc with amount

- Allow past variant lookup by pg_authorization_code
- `capture_via_cc` now requires an `amount` arg in case amount changes between auth/capture

Story: https://www.pivotaltracker.com/story/show/82259176

Assigned @dlinder 
Might want to construct a Q first and then fold it into the QS, e.g.:
```python
variant_matcher = None
if pg_authorization_code and pg_trace_number:
    variant_matcher = Q(pg_authorization_code=...) & Q(pg_trace_number=...) & Q(amount__gte=amount)
elif ...:
    ...
else:
   return
time_window = datetime.datetime.utcnow() - self.PAST_VARIANT_WINDOW
try:
    return models.PaymentsGatewayVariant.objects.filter(
        variant_matcher,
        reused_by_isnull=True,
        ...
    ).order_by('amount')[0]
except IndexError:
    pass