Avoid browser default font on backend icons

In the Spree backend UI, icons are used by adding classes to existing elements, without adding something like `<i class="icon-something"></i>`.
But font-awesome-rails sets the font-family to just `FontAwesome`, which results in the browser default font-family (usually, Times New Roman) being used for any text that appears next to an icon (on Firefox, at least).
Screenshot: http://adobe.ly/1mb9oOH

Fixes #4885
Capture on dispatch. Fixes #4727
Add changelog entry for capture on dispatch.
Validate uniqueness of variants sku. Fixes #5015
Initial work on how to extend spree to support extensions that customize line items.

Adds the build_options hook for extensions to process their own cart params.

Fixes #4546
Address feedback and fix specs. refs #4546
Fix analytics check to run only when there is an order. Fixes #4929
Fix duplicate sku in samples.