Only set display_name in OrderPopulator#check_stock_level when it's needed

This should speed up in_stock query checking, as it's no longer querying option_values + option_types tables as well.
Move Error Text calculation inside error block
Fixed bad style escaping within admin/products/index.html.erb

Fixes #3439
Do not check stock quantity twice when saving line item

Every time an user pressed the add to cart button spree was checking
stock in OrderPopulator and before saving the line item, through
Stock::AvailabilityValidator. I believe we only need to check stock on
the LineItem model

Fixes #3434

Conflicts:
	core/app/models/spree/order_populator.rb
Add validation of shipping_category_id to Product. Fixes #3188
README fix - use example that's still relevant
Remove select2-rails from Rails frontend gem

Bump select2-rails to ~> 3.4.1 in backend gem

Update helper `select2_search` implementation due to latest changes on
select2 generated markup, had to find a new way to grab select2 element
id

Fixes #3457
Remove rails from frontend and backend gemspecs.
Remove deface from frontend and backend gemspecs.
index spree_orders#completed_at
Add option_values to variant template [api]

Fixes #3460

Conflicts:
	api/app/views/spree/api/variants/variant.v1.rabl
	api/spec/controllers/spree/api/states_controller_spec.rb
Added :user at :tab was missing in I18N

Fixes #3455
Move font-awesome into app/assets for scss import. Fixes #3465
Fix `load_sample`

Broke after 7a5e43662c57807dafaebf8160069e4de8f1c855 which requires
product to have a shipping category

Add build for spree/sample load data task
Add Sample to build.sh
Additional can?'s in product admin

* Hide new/edit/clone/delete product links if they are unauthorized
* Hide any tabs from the product sidebar which are unauthorized

Allows fine grained control over which actions on a product are
permitted.
This already worked properly through use of authorize! in controllers.
However this left dead links to unauthorized pages.

Additional can?'s in Order admin

* Hide new order button if unauthorized
* Hide events, resend button if unauthorized

custom_authorization! test helper

Creates a new custom_authorization! test helper to aid in defining
custom cancan rules within test cases. Replaces existing uses of
stub_bar_authorization! with custom_authorization! and explicit rules.

Feature specs of hidden unauthorized links

Fixes #3469
Add require spree_sample to spec helper to prevent failure when running build.sh.
Store tax category on line item

Fixes #3481
Move require of select2 into spree_backend to make select2 available to extensions.
Fixing some text rendering issues that appear after updating FontAweesome

Fix select2 styles. Fix some button text rendering problems on OSX.

Fix table reorder handle align.

Fix .select2-choices background

Fixes #3487