check inventory and restart checkout if not enough

fixes #5585
Update ruby version for circle builds
fixes #5585
Scope query to just orders line items.

Fixes #5594
View customization body id typo fix

From @phuisman88 https://github.com/spree/spree-guides/pull/253/files
add guide for S3 storage
set the encoding to utf-8 for the guides
set the nanoc encoding config at the right spot as per http://www.thehorrors.org.uk/snippets/nanoc-utf-8/
Remove n+1 line item lookup. Fixes #5481
Fix Order#merge! for custom comparison hooks.

Custom comparison hooks expect a Hash as `options` parameter,
but a LineItem object was passed instead.

fixes #5589
Fix Asset position for different viewables.
fixes #5590
remove permitted_resource_params as it is already present in resource controller

fixes #5591
Add is_backorderable to variant and small RABL view
fixes #5595
Update MoveOrderTokenFromTokenizedPermission migration to work w/ jruby

jruby mysql adapter uses adapter_name 'MySQL'. Not recognizing this causes migrations to bomb out on jruby due to invalid SQL syntax.

https://github.com/jruby/activerecord-jdbc-adapter/blob/master/lib/arjdbc/mysql/adapter.rb#L109

fixes #5597
Fix spec broken by 54a5e4851b2b54750cf4a17d88a6566b1b255dac
Only charge for unreturned exchanges when the new item is in the shipped state.

* In the case when the customer returns the new item, we don't want to
charge them for changing their mind.
* In the case when the shipment was caught on its way out and is still
'on hand', but the customer has not received inventory, we don't want
to charge them for our internal mistakenly placed shipment.

fixes #5598
Mentioning admin order flow changes.

fixes #5599
Validate authenticity token on all actions but populate

fixes #5601
Add 2.0.0 to travis to see difference from 1.9.3
Update contributing seciton of readme.
guides no longer in their own repo.