Initial work for #152
Code review for commit 1c3b6fe1d6a54b2cd3d4ac6887ed1a673dcb015e. Fixes #198
 Introduce multiple PaymentControlPlugin for payment attempts

 The code will go through the various plugins in the specified order (similar to servlet filters approach).
* If one of them abort the payment calls, the others are not tried and payment is aborted.
* If values are overriden (payment amount, currency, paymentMethodId), the next plugin gets the updated values, and may still decide to also override them
* When payment fails, the nextRetry date is calculated as the min between all the dates returned by the plugins
Merge branch 'master' of github.com:killbill/killbill
Merge branch 'master' of github.com:killbill/killbill