[Pending review] 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
We could indent `When` and `Then` with one space and `And` with two, so that all keywords (Given, Then, When, And) would be aligned. Example here: https://github.com/cucumber/cucumber/wiki/Gherkin