Fixes brand filter and related broken specs.
Fix stub from rails 4 refactoring to fix broken controller spec.
Spree::PermittedAttributes for more extensibility

With existing `ControllerHelpers::PermittedAttributes`, adding
additional permitted attributes can only be done by overriding the
method. To be done safely in extensions, this would rely on a lot of
method aliasing.

This introduces `Spree::PermittedAttributes`, which has as module
attributes for the the accessible attributes on the spree models. This
is easily modifiable by spree applications or extensions.

    Spree::PermittedAttributes.line_item_attributes << :my_custom_attribute

`ControllerHelpers::StrongParameters` contains the same methods as
before but mostly delegates to `Spree::PermittedAttributes`. The
controller helpers also describe the allowed nested attributes.

For more complex customization (ex. permissions depending on role),
controllers can still override `permitted_attributes` with
`SimpleDelegator` (or similar) or override `permitted_*_attributes`
methods themselves to modify the attributes on a per request basis.

Thanks to Hates, Radar, huoxito, and jstrong in #spree for quick
discussion.

Fixes #3566
Default to run build.sh against postgresql.
Mention in README how you specify which database to generate dummy apps with.
Remove legacy database option that is no longer used.
Attemp to fix random failing specs on CI

Capybara first will wait a bit for those inputs to be displayed.
Hopefully it's enough time to make it stop failing randomly in CI

Fixes #3552
Change JS so that page is reloaded after the item has been added to the target shipment, not just after it has been removed from the original shipment.  Remove an extraneous stock location create.

Fixes #3576

Removing notification email so Ryan doesn't get spammed by Travis on my fork

Allow different quotes for different databases in the order clause

Fixes #3577

Add an explicit order to the query, rather than depending on the implicit order from the database.

Fixes #3579
Skip validations in migration so we don't reference columns that don't exist.

Fixes #3584
Re-add test_mailer view so that TestMailer functions.  Change TestMailer to take an id, so it can support Resque/Sidekiq.  Update controller to pass an id rather than the user object itself.  Update spec to use persisted user.

Remove the 'try(:id)' and just depend on the controller itself to ensure we have a legitimate current_user

Fixes #3581
Credit Card expiry comparison logic incorrect outside of UTC - would fail with card_expired method if CC is expiring this month

Fixes #3578
capybara 2.1 requires visible: false to match elements in <head>, and other invisible elements
Clear tax adjustments only in TaxRate#adjust

It doesn't make sense to remove all line item adjustments from
TaxRate#adjust because price adjustments might come from other classes
such as ShippingMethod and PromotionAction

Fixes #2981
Fix order deprecation on association.
Fix deprecation warnings by using line_item_adjustment_totals.
Add sample gem to travis config.
[backend] Js lint. Fixes #3544
Fix core order/adjustment spec

It was failing most likely to the default ordering in postgres. I
changed it so that it doesn't depend on the order to be valid anymore

Fixes #3591
Add Gemfile for sample project, add spec task to Rakefile and set it as the default task

Fixes #3589
Update selenium and remove uneeded gemfile additions.