The idea of splitting integration from unittests is good in theory
but leads to a lot of mental overhead. Besides whenever a tests
interacts with a database it isn't a unittest anyway.
Fix validate_payment_event for payment events with no lines specified
Currently, handle_payment_event defaults lines and line_quantities to None,
however, calling it with these defaults will result in an exception being
raised in validate_payment_event because it expects iterables.
This commit also adds tests to cover validate_payment_event.