Test for broken currency representation.
Fix active merchant for some currencies.

Currencies without 2 decimal places would not be correctly represented
to active merchant, as they would always be multiplied by 100.

As an example, something costing 200 yen would pass 20000 yen to active
merchant.

This now uses the cents from the money object which handles this logic
much better.

Fixes #2930
Fix exception when product brand is nil

Fixes #2927
Rely on spree_user mappings from Devise, not user

For reasons, see commit 4a27c35fd29cf4fcafc1cf6b2401d937361610b9 in spree_auth_devise
Link Country Based and State Based labels to radio control

Fixes #2928
Allow users to not override default mailer configs

Fix from_address logic in mailers, it broke when there were no
mail_method record on the database

Fixes #2918