Refactor Spree::CreditCard:

* ruby19 hash syntax
* Use state_machine helper for checking payment state
* Remove #first_name? and #last_name? because AR already define these methods
* Rewrite the test
Refactor Spree::Order - using -> notation for lambda
Validate presence of variant on StockItem
StockItem#determine_backorder isn't being used, removing it and it's spec.
Refactored Spree::Core::CalculatedAdjustments#calculators
Require Shipping Calculators to Inherit from Spree::Calculator::Shipping
Remove call to Order#remove_variant, deprecate method
Deprecating Order#add_variant
[core] Refactor Spree::LineItem
[core] Refactor Spree::Order
Add basic spec coverage for OrderInventory.inventory_units_for
Extract determine_target_shipment into its own method in OrderInventory
Fic shipment_spec
Fix failing order details spec
Added more order details request specs
Fix failing promotion adjustment request specs
Deprecate Spree::LineItem#increment_quantity and #decrement_quality
Updated rspec syntax and spree namespacing for readability.

Fixes #2777
admin tabs are displayed only if user has :admin right on resource

Fixes #2626
Fixed absent money spec from tests.

Fixes #2778