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
Remove padding from date-range-filter arrow

Relates to #3465
Fix issue where admin nav would display in a Times-like font

Related to #3465

Conflicts:
	backend/app/assets/stylesheets/admin/shared/_icons.scss
Fix issue where admin nav would display in a Times-like font

Related to #3465

Conflicts:
	backend/app/assets/stylesheets/admin/shared/_icons.scss
Fix issue where admin nav would display in a Times-like font

Related to #3465

Conflicts:
	backend/app/assets/stylesheets/admin/shared/_icons.scss
Lockdown select2-rails temporarily.
Update select2-rails now that it has been fixed.
Add changelog entry for #3481

Conflicts:
	core/CHANGELOG.md
Add another migration to link existing line items with their tax categories

Related to #3481
Remove deprecated -moz-border-radius clause (deprecated in Firefox 13)
Fix styling of select2's droparrow
Put checkboxes before descriptions in shipping methods form

Fixes #3483
Fix IE8 compatibility issues with checkout.js and products.js

IE8 has a weird bug where function definitions outside of a ready statement were not being acknowledged
Set default stock location on old shipments. Fixes #3510
Use update_all to close order adjustments

That would use one single query to update all adjustments

Fixes #3512
Use a hash instead of sql fragment.