Fix refund code:
- Add 2 InvoicePaymentControlPluginApi properties to pass the isAdjusted flag and the map of items/amount
- Refund beatrix tests should now be fixed
Payment externalKey cannot be used to encode the invoiceId when making payments against an invoice.

Instead use a new InvoicePaymentControlPluginApi plugin property (PROP_IPCD_INVOICE_ID) to pass the information from APi or invoice bus handler.
However payments now don't contain invoiceId info, so we may need to have the plugin InvoicePaymentControlPluginApi to add a specific custom field. (TBD)
Fix beatrix test AUTO_PAY_OFF
Add Preconditions for PaymentApi.
Should we instead return PaymentApiException?
Fix Payment retry logic -- at least enough to have retries work from Beatric tests
Fix small payment issues (beatrix tests) in notifyChargeback and for missing Payment events.
Merge branch 'master' of github.com:killbill/killbill