Fix build script to fail if a command fails

* It can be difficult to debug an issue that occurred earlier
  because it scrolled out of the buffer. This was useful in making
  sure the build passed 100% because it would stop if any problems
  occurred.
Fix whitespace in Spree::Payment#persist_invalid
Fix invalid state in Spree::Payment spec
Remove explicit poll interval for tooltips

* The default value for this, from jquery-tooltip, is 100ms
  which seems to be fine in practice.

  During testing of the edit payment amount feature I was
  continuously using the icons, and the delay was noticeable. Now,
  granted, I was hyper-aware of the delay because I used the feature
  many times in a row I felt like when I adjusted it to 100ms it was
  almost effortless, but at the same time the response was not so
  immediate to be jarring. It still required me to make a concious
  effort to stop the mouse on the icon before the tooltip would
  respond, I can't recall it happening without effort though.
Refactor render call to use template name

* The controller name is used to infer the template name so this
  extra prefix was unnecessary.
Refactor credit_over_limit translation to be in the payment group
Refactor Spree::API::PaymentsController spec

* Update context and description names to be more consistent
* Fix whitespace to be more consistent
Refactor show_flash_error function to be simpler

* Change the flash message to fade out after 5 seconds similar to
  normal flash messages, rather than persisting indefinitely.
Refactor admin order payments spec features

* Update specs to use more consistent style
* Remove some context nesting that was unnecessary
Refactor Spree::Payment spec to be more consistent

* Fix whitespace inconsistencies
* Fix amount_in_cents to be simpler and work when there are floating
  point rounding issues. (Not that they happen in this precise code,
  but they were an issue when I changed the amount to something like
  1.11)
* Change context blocks used for method names to describe blocks,
  which is closer to normal rspec convention, even though both
  methods do precisely the same thing.
Change powertip events to apply to elements added after document ready

* The original code was applying event handlers on document ready,
  but was not applying to elements added by javascript itself. This
  change allows all elements with the "with-tip" class to work with
  powertip.
Change spinner to stop if another is started for a new ajax request

* During testing I was rapidly saving a payment to make sure there
  were no timing related issues in the javascript. One thing I
  noticed is that the spinners would queue up, and keep fading in
  and out long after the last ajax request has completed.

  I felt like a better experience would be to stop any in-progress
  spinners if a new spinner needs to start.
Change Spree::Payment processing methods to use strict creation

* In a few cases during testing the processing methods were
  silently returning objects that were not valid, causing strange
  behaviour in places further removed from pricessing. This change
  makes it so that if there are issues with the object creation they
  are immediately obvious.

  This seemed like a safe change because I believe under normal
  circumstances these methods should never fail.
Add number validation to Spree::Payment#amount
Add Spree::Payment#amount=

* This method will coerce the amount (usually from the web form)
  into a decimal and assign it to the payment amount. It will also
  continue to work with numeric values passed in directly.
Add display amount for payment api show view

* This will allow JS to display the payment amount without
  duplicating the money formatting logic on the client side.
Add Spree::Api::PaymentsController#update

* This action will allow admin users to be able to update a pending
  payment.
Add admin pending payment amount editing

* This adds a coffeescript file with classes to manage the payment
  object, as well as two classes to manage the show and edit view
  states for a payment.

  The show view is the starting state and is added to each pending
  payment in the table. It will add the edit icon as well as make
  the amount clickable; clicking on either will change to the edit
  view.

  The edit view will hide the capture and pending icons, as well as
  change the edit icon to save. It will also change the amount to a
  text field, which can be edited. Moving focus from the text field
  or clicking on the save icon will save the payment using an ajax
  request. The edit view may be cancelled and reverted back to the
  show view by clicking on the cancel button.

  If the ajax request is successful, then the show view will return.
  If there is an error, a flash message will display at the top of
  the page and fade away after 5 seconds.

Fixes #3765
Add payment display_amount attribute to new and index templates
Add Spree::Money#as_json

* This allows the explicit node blocks to be removed from the
  payments api index and show views.