Preauthorization improvements

* Add cucumber tests: Use should see a warning "you don't have payment details" if she tries to post a new listing that uses preauth and she doesn't have active Braintree account
* Make message optional, when inserting credit card details on preauth
* Fix: Untranslated request_paid flash notification.
* Clean up duplicated Braintree payment code: Add a BraintreeSaleService, which contains the payment logic used by controllers that handle both post pay and preauth
* Preauth form layout fixes