Add Spree::Admin::RootController for redirecting purposes.

Currently, is really difficult to redirect to a different tab when the
user has logged in if said users cannot at least :admin, :index
`Spree::Order`s.

This commit adds a controller that handles `/admin` route so anyone can
easily redirect to another page (or implement any other logic).
Adds editorConfig.

Fixes #5491
Fallback to variant.id if sku is not provided.

Fixes #5524
Fixes #5526
Use variant_id to avoid loading variant.
Frontend - Fix RSpec 3 Deprecations.
Frontend - Fix rspec 3 deprecations.
Start core rspec 3 updates.
Fix core specs.
Used transpec to update backend specs to rspec 3.
Convert specs to RSpec 3.1.7 syntax with Transpec

This conversion is done by Transpec 2.3.7 with the following command:
    transpec -s

* 667 conversions
    from: obj.should
      to: expect(obj).to

* 421 conversions
    from: == expected
      to: eq(expected)

* 34 conversions
    from: obj.should_not
      to: expect(obj).not_to

* 31 conversions
    from: describe 'some controller' { }
      to: describe 'some controller', :type => :controller { }

* 17 conversions
    from: Klass.any_instance.stub(:message => value)
      to: allow_any_instance_of(Klass).to receive_messages(:message => value)

* 15 conversions
    from: obj.should_receive(:message)
      to: expect(obj).to receive(:message)

* 10 conversions
    from: lambda { }.should
      to: expect { }.to

* 10 conversions
    from: obj.stub(:message => value)
      to: allow(obj).to receive_messages(:message => value)

* 9 conversions
    from: lambda { }.should_not
      to: expect { }.not_to

* 8 conversions
    from: obj.stub_chain(:message1, :message2)
      to: allow(obj).to receive_message_chain(:message1, :message2)

* 7 conversions
    from: =~ /pattern/
      to: match(/pattern/)

* 7 conversions
    from: obj.stub(:message)
      to: allow(obj).to receive(:message)

* 6 conversions
    from: Klass.any_instance.should_receive(:message)
      to: expect_any_instance_of(Klass).to receive(:message)

* 3 conversions
    from: > expected
      to: be > expected

* 3 conversions
    from: obj.should_not_receive(:message)
      to: expect(obj).not_to receive(:message)

* 1 conversion
    from: =~ [1, 2]
      to: match_array([1, 2])

* 1 conversion
    from: describe 'some model' { }
      to: describe 'some model', :type => :model { }

* 1 conversion
    from: describe 'some request' { }
      to: describe 'some request', :type => :request { }

For more details: https://github.com/yujinakayama/transpec#supported-conversions
Fix remaining deprecations in helpers.
Display states link if a country exists without a default country set. Fixes #5443
include children in spree taxon load

fixes #5528
add counter cache from variants to stock items

fixes #5520
Add spec for updating version.
add table name for order/line_item association
fixes #5531
refactor code to follow DRY in zone model
fixes #5532
Update generated robots.txt
fixes #5533
Removes redundant closing li
fixes #5535
Make email field in admin orders#index link to the customer's account page
fixes #5539