Improve support for sending client encrypted credit card data

Some users might choose to encrypt cc info on client side and not record
anything related to credit card at all on db. See Adyen Client-Side Encryption
for example
Only check if payment source has_payment_profile?

Card info might come in encrypted so number won't be present and payment
source could be something other than a CreditCard object but still
support payment profiles
add missing model translation.

Fixes #4410
Update README to use latest stable version

Fixes #4406
Dont restart checkout_flow for completed orders

No need to destroy all shipments or set order back to first checkout
state. Currently shipments for completed orders are managed by
OrderInventory#veriry
fix race condition in order details spec

This behaved strangely because this portion of the admin displays
changes by using window.location.reload(), which wait_for_ajax doesn't
wait for (after all, it isn't AJAX). This improves the tests by waiting
for the input fields to disappear.

Should fix sporadic failures on Travis CI.
Merge remote-tracking branch 'upstream/master'
API BaseController inherits ActionController::Base

Spree::Api::BaseController now inherits from ActionController::Base.
Removed respond_with override, to fix being unable to pass
default_template to options. Removed unnecessary includes.
Merge branch 'api-base-controller'