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 processing. 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.