Added data-hooks where values were empty and fixed some repeated ids.

Fixe #4573
Use the root_object instead of @line_item.

This is the object the other views use for caching.
Use root object for credit card caching
Fix broken cache on api/orders

The cache keys were not unique anymore because we were passing nil, e.g.
`@order` is not defined when rendering api/orders.json, same thing
happened with all nested objects using a instance var instead of rabl
`root_object`

Fixes #4757
Populate Order#shipment_total for users upgrading

Previous to Spree 2.2 orders didn't have a shipment_total. This should
populate that new column for legacy orders

Fixes #4684
Pass in order params on order creation so they can be overridden

Fixes #4693