admin tabs are displayed only if user has :admin right on resource

Fixes #2626
Specify :class_name options for InventoryUnit associations so that assigning them doesn't fail

This is due to an AR bug which assumes the class is not namespaced.
Specify :class_name for has_many images on Variant

Previously, attempting to assign invalid data (i.e. variant.images = [nil]) to this association would've resulted in an uninitialized constant error for Image, rather than erroring correctly on an association class mismatch.
Changed line items to display cost-per-unit using the single_money method instead of display_amount from the associated variant

Fixes #2772
nested_taxons_path will now take a Taxon object and generate a proper URL
add a check to prevent skipping checkout steps

Fixes #2764
feature : taxons meta tags and title

Fixes #2787
Fixes orders#show title for i18n cases

Fixes #2784
When a calculator is using a preference of type :text, a textarea is shown. The calculator.js should disable/enable this textarea the same as the input from a preference of any other type.

Fixes #2782
Fix a missing icon class [Fixes #2638]

Fixes #2775
Reduce minimum characters required for variant autocomplete (from 4 to 3)

Fixes #2774
Add US Military state codes to default states

Fixes #2769
[promo] Fix order coupon code searching in checkout spec
Wait a bit longer after update in promotion_adjustments_spec before adding an adjustment
Fix random encoding issue with spree/states.rb sample data
Add .travis.yml to this branch
Add currency_thousands_separator and currency_decimal_mark config options

This fixes an issue in #2632 where the incorrect decimal mark was being used
Fix issue where all payment method fields were shown on payment screen

Fixes #2785
Fixes #2813
Use separate databases depending on the value of ENV['TC_AGENT_NUMBER']
Set deleted_at timestamp in the past for product_properties_controller +
products_controller tests

This is because MySQL's time columns don't differentiate between events which happen in the same second. PostgreSQL and SQLite do.