payment: validate invoice balance early

Make sure we don't fail a payment before making sure there is something to pay.
This fixes payment error events associated with $0 invoices for accounts without
a default payment method.

* Fix test in beatrix which was now expecting an extra payment error event
* In PaymentProcessor, we need to handle external payment methods separately, to
avoid a potential deadlock

Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
Merge branch 'master' into queue

Conflicts:
	payment/src/main/java/com/ning/billing/payment/bus/InvoiceHandler.java
	payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java